再見(jiàn),Elasticsearch !
點(diǎn)擊關(guān)注公眾號(hào):互聯(lián)網(wǎng)架構(gòu)師,后臺(tái)回復(fù) 2T獲取2TB學(xué)習(xí)資源!
新一代搜索引擎,是ES的15倍,號(hào)稱(chēng)干翻ES!
Manticore Search 是一個(gè)使用 C++ 開(kāi)發(fā)的高性能搜索引擎,創(chuàng)建于 2017 年,其前身是 Sphinx Search 。
Manticore Search 充分利用了 Sphinx,顯著改進(jìn)了它的功能,修復(fù)了數(shù)百個(gè)錯(cuò)誤,幾乎完全重寫(xiě)了代碼并保持開(kāi)源。這一切使 Manticore Search 成為一個(gè)現(xiàn)代,快速,輕量級(jí)和功能齊全的數(shù)據(jù)庫(kù),具有出色的全文搜索功能。


在一定的場(chǎng)景中,Manticore 比 Elasticsearch 快 15 倍!完整的測(cè)評(píng)結(jié)果,可以參考:
https://manticoresearch.com/blog/manticore-alternative-to-elasticsearch/
優(yōu)勢(shì)
它與其他解決方案的區(qū)別在于:
-
它非常快,因此比其他替代方案更具成本效益。例如,Manticore:
-
對(duì)于小型數(shù)據(jù),比MySQL快182倍(可重現(xiàn)) -
對(duì)于日志分析,比Elasticsearch快29倍(可重現(xiàn)) -
對(duì)于小型數(shù)據(jù)集,比Elasticsearch快15倍(可重現(xiàn)) -
對(duì)于中等大小的數(shù)據(jù),比Elasticsearch快5倍(可重現(xiàn)) -
對(duì)于大型數(shù)據(jù),比Elasticsearch快4倍(可重現(xiàn)) -
在單個(gè)服務(wù)器上進(jìn)行數(shù)據(jù)導(dǎo)入時(shí),最大吞吐量比Elasticsearch快最多2倍(可重現(xiàn)) -
由于其現(xiàn)代的多線程架構(gòu)和高效的查詢并行化能力,Manticore能夠充分利用所有CPU核心,以實(shí)現(xiàn)最快的響應(yīng)時(shí)間。
-
強(qiáng)大而快速的全文搜索功能能夠無(wú)縫地處理小型和大型數(shù)據(jù)集。 -
針對(duì)小、中、大型數(shù)據(jù)集提供逐行存儲(chǔ)。 -
對(duì)于更大的數(shù)據(jù)集,Manticore通過(guò)Manticore Columnar Library提供列存儲(chǔ)支持,可以處理無(wú)法適合內(nèi)存的數(shù)據(jù)集。 -
自動(dòng)創(chuàng)建高效的二級(jí)索引,節(jié)省時(shí)間和精力。 -
成本優(yōu)化的查詢優(yōu)化器可優(yōu)化搜索查詢以實(shí)現(xiàn)最佳性能。 -
Manticore是基于SQL的,使用SQL作為其本機(jī)語(yǔ)法,并與MySQL協(xié)議兼容,使您可以使用首選的MySQL客戶端。 -
通過(guò)PHP、Python、JavaScript、Java、Elixir和Go等客戶端,與Manticore Search的集成變得簡(jiǎn)單。 -
Manticore還提供了一種編程HTTP JSON協(xié)議,用于更多樣化的數(shù)據(jù)和模式管理。 -
Manticore Search使用C++構(gòu)建,啟動(dòng)快速,內(nèi)存使用最少,低級(jí)別優(yōu)化有助于其卓越性能。 -
實(shí)時(shí)插入,新添加的文檔立即可訪問(wèn)。 -
提供互動(dòng)課程,使學(xué)習(xí)輕松愉快。 -
Manticore還擁有內(nèi)置的復(fù)制和負(fù)載均衡功能,增加了可靠性。 -
可以輕松地從MySQL、PostgreSQL、ODBC、xml和csv等來(lái)源同步數(shù)據(jù)。 -
雖然不完全符合ACID,但Manticore仍支持事務(wù)和binlog以確保安全寫(xiě)入。 -
內(nèi)置工具和SQL命令可輕松備份和恢復(fù)數(shù)據(jù)。
Craigslist、Socialgist、PubChem、Rozetka和許多其他公司使用 Manticore 進(jìn)行高效搜索和流過(guò)濾。
使用
Docker 鏡像可在Docker Hub上獲?。?/p>
https://hub.docker.com/r/manticoresearch/manticore/
要在 Docker 中試驗(yàn) Manticore Search,只需運(yùn)行:
docker run -e EXTRA=1 --name manticore --rm -d manticoresearch/manticore && until docker logs manticore 2>&1 | grep -q "accepting connections"; do sleep 1; done && docker exec -it manticore mysql && docker stop manticore
之后,可以進(jìn)行其他操作,例如創(chuàng)建表、添加數(shù)據(jù)并運(yùn)行搜索:
create table movies(title text, year int) morphology='stem_en' html_strip='1' stopwords='en';insert into movies(title, year) values ('The Seven Samurai', 1954), ('Bonnie and Clyde', 1954), ('Reservoir Dogs', 1992), ('Airplane!', 1980), ('Raging Bull', 1980), ('Groundhog Day', 1993), ('<a , 1993), ('Ferris Bueller\'s Day Off', 1986);select highlight(), year from movies where match('the dog');select highlight(), year from movies where match('days') facet year;select * from movies where match('google');
完整文檔和開(kāi)源代碼,可以移步:
https://github.com/manticoresoftware/manticoresearch
最后,關(guān)注公眾號(hào)互聯(lián)網(wǎng)架構(gòu)師,在后臺(tái)回復(fù):2T,可以獲取我整理的 Java 系列面試題和答案,非常齊全。
正文結(jié)束
推薦閱讀 ↓↓↓
1.JetBrains 如何看待自己的軟件在中國(guó)被頻繁破解?
2.無(wú)意中發(fā)現(xiàn)了一位清華妹子的資料庫(kù)!
5.為什么國(guó)內(nèi) 996 干不過(guò)國(guó)外的 955呢?
正文結(jié)束
1.JetBrains 如何看待自己的軟件在中國(guó)被頻繁破解?
2.無(wú)意中發(fā)現(xiàn)了一位清華妹子的資料庫(kù)!
5.為什么國(guó)內(nèi) 996 干不過(guò)國(guó)外的 955呢?
