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返回搜狐,檢視更多