1. 程式人生 > >es、solr、sphinx、mysql like對比

es、solr、sphinx、mysql like對比

分析各種搜尋的優劣勢(es、solr、sphinx、mysql like)

2016-08-18 11:54

1.mysql的like 簡單的關鍵字搜尋。不適合全文索引搜尋。sphinx配置很麻煩,但是適合全文搜尋。 - 入末

2.sphinx和lucene本質都是倒排索引

shpinx更新太麻煩

雖然後面有增量索引,太難用了

重建索引耗時太久

實際上,如果不是很複雜,可以用mysql和redis實現倒排索引功能

Sphinx太靜態,雖然效能有些優勢,但是很多場景不適合

但是sphinx論壇有個大神Barry hunter,你的任何問題總能第一時間回答,我問過幾次,很滿意

Solr也是基於lucene的

版本更新確實很快,所以只能看官方文件,最佳實踐就是看官方文件

- tiyee

3.sphinx不支援增量更新,每次更新需要重建索引,都是用的倒排索引

GitHub 之前把solr替換為es了,僅供參考

es有個毛病,版本更新太快,累死運維,每次都得評估是不是要升級

es 帶中文分詞嗎?回答:有個lk分詞外掛支援中文分詞

- 廖強

4.基本都是solr和es

好多都把solr替換成es

Solr版本更新也快啊

- 夢幻

5.sphinx感覺10年前了

除了es,其他的基本都不怎麼提了

- tony

討論:

solr頻繁寫入的話 索引效率很低的問題 有人解決過嗎 - 影子

bulk,另外控制重新整理頻率 - tiyee

我們是通過mq 更新magento產品 再同步到solr,頻繁寫入 導致solr忙於建索引,現在用softcommit減少寫入 導致無法做到near real time - 影子

商城是讀為主,關鍵資料在資料庫或快取實時處理 - tiyee

我們主資料都是從solr取了 - 影子

不實時更新 估計沒啥問題吧 - 李冬

購物車 checkout才走資料庫,目前有15分鐘資料延遲,考慮以後移到es,不過我們solr配置麻煩 多語種 各種分詞 - 影子

es頻繁寫也會慢吧 - 夢幻

es寫很快,solr寫是個大問題,我們現在完全依靠solr解決資料庫的問題,之前還寫了個類似於 mysql的 底層solr操作,把mysql的查詢轉成solrquery,那樣前端什麼都不用改 - 影子

推薦連結:

http://es.xiaoleilu.com/ - Elasticsearch 權威指南(中文版)

最終結果:

es > solr > sphinx > mysql like返回搜狐,檢視更多