1. 程式人生 > >實時搜尋 elasticsearch vs solr

實時搜尋 elasticsearch vs solr

oyhk學習筆記

什麼是ElasticSearch?

ElasticSearch是基於rest風格,分散式搜尋引擎,非常優秀的lucene庫.內建的JSON API提供了一個優雅的+ HTTP平臺完美的結合(例:彈性可搜尋的ruby gem)。它的簡單的、可伸縮的和酷...

對比solr

首先,讓我們澄清問題.solr效率是非常快的,這個我可以肯定.solr是穩定的,可靠的和出箱,它優於幾乎每個搜尋解決方案基本搜尋(包括Elasticsearch)。

不幸的是,它真的很容易打破Solr一樣。只是要執行搜尋,同時併發更新索引與新內容。這是一個非常嚴重的問題,如果你需要更新你的搜尋索引定期。

現在把幾百萬索引插入到solr和elasticsearch中,solr的效率非常低下,感覺真辛苦啊.而elasticsearch非常輕鬆就完成工作..

顯然易見solr的體系結構沒有建立在實時搜尋應用上,實時web應用程式的要求需要交付更新實時隨著新內容附近是由使用者生成的。Elasticsearch的分散式特性使得它跟上併發搜尋+索引請求輕鬆而過.

實時結果:

轉變我們的搜尋基礎設施後從Solr Elasticsearch,我們看見一個即時~ 50 x提高搜尋效能!

現在更有趣…

典型的實時搜尋架構如下:

  • 使用者內容建立索引新增到搜尋引擎中
  • 執行組查詢搜尋引擎來確定內容匹配特定的標準
  • 執行特定的邏輯通知註冊通道,搜尋新的內容

可以支援這個模型Elasticsearch很好,但它也提供了一個功能,將整個工作流在它的頭。

新的工作流程如下:

  • 註冊特定查詢
  • 索引新內容
  • 在索引操作的響應將包含匹配的percolations
完善的實時搜尋體系結構

最後

Solr可能選擇的武器當建築標準的搜尋應用程式,但Elasticsearch把它到下一個水平與一個架構建立現代實時搜尋應用程式。滲流是一個令人興奮的和創新的功能,僅憑吹Solr出來的水。Elasticsearch是可伸縮的,快速和夢想結合。再見Solr,很高興認識你。

我的結論:

1. solr查詢快,但更新索引時慢(即插入刪除慢),用於電商等查詢多的應用;

2.ES建立索引快(即查詢慢),即實時性查詢快,用於facebook新浪等搜尋。