最近公司用到了ES搜索引擎,調(diào)研發(fā)現(xiàn)大公司常用的搜索引擎還有Solr。

鑒于 Lucene 強大的特性和穩(wěn)定性,有很多種基于 Lucene 封裝的企業(yè)級搜索平臺。其中最流行有兩個:Apache Solr 和 Elastic search。 
Apache Solr:它本身是 Apache Lucene 項目下的開源企業(yè)搜索平臺,算是 Lucene 的直系。美團、阿里搜索服務(wù)是基于 Solr 來搭建的。 
Elastic Search:簡稱 ES,由 Elastic 公司開發(fā)。Elastic 成立于 2012 年,總部在阿姆斯特丹,不久前 Google 宣布與 Elastic 達成戰(zhàn)略合作協(xié)議,為谷歌云提供新的搜索以及相關(guān)分析服務(wù)。 最近幾年,ES 變得越來越普及,StackOverflow、Github、百度等都在使用。

  一:數(shù)據(jù)源

Solr 支持添加多種格式的索引,比如:HTML、PDF、微軟 Office 系列軟件格式以及 JSON、XML、CSV 等文件格式,還支持 DB 數(shù)據(jù)源。而 Elastic Search 僅支持 JSON 數(shù)據(jù)源。

  二:高并發(fā)的實時搜索

基于 Solr 和 ES 都有成熟高可用架構(gòu)設(shè)計。高并發(fā)的實時搜索兩者都沒有太大問題。但是 Elastic Search 讀寫并發(fā)性能更優(yōu)于 Solr。

需要注意的是,搜索引擎不推薦像 DB 一樣做類似 like 的通配符查詢,這樣會導致性大大降低。之前線上有一個 ES 搜索集群,一段時間 8 核 CPU 的 load 飚到了 10 以上,后來排查,原

網(wǎng)友評論