Elasticsearch與Solr搜索引擎選型調研文檔

Elasticsearchweb

ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java開發的,並做爲Apache許可條款下的開放源碼發佈,是當前流行的企業級搜索引擎。json

優勢
Elasticsearch是分佈式的。不須要其餘組件,分發是實時的,被叫作」Push
replication」。
Elasticsearch 徹底支持 Apache Lucene 的接近實時的搜索。
處理多租戶(multitenancy)不須要特殊配置,而Solr則須要更多的高級設置。
Elasticsearch 採用 Gateway 的概念,使得完備份更加簡單。
各節點組成對等的網絡結構,某些節點出現故障時會自動分配其餘節點代替其進
行工做。
缺點
只有一名開發者(當前Elasticsearch GitHub組織已經不僅如此,已經有了至關
活躍的維護者)
還不夠自動(不適合當前新的Index Warmup API)服務器

Solr網絡

Solr是一個獨立的企業級搜索應用服務器,它對外提供相似於Web-service的API接口。用戶能夠經過http請求,向搜索引擎服務器提交必定格式的XML文件,生成索引;也能夠經過Http Get操做提出查找請求,並獲得XML格式的返回結果。分佈式

優勢
Solr有一個更大、更成熟的用戶、開發和貢獻者社區。
支持添加多種格式的索引,如:HTML、PDF、微軟 Office 系列軟件格式以及 JSON、XML、CSV 等純文本格式。
Solr比較成熟、穩定。
不考慮建索引的同時進行搜索,速度更快。
缺點
創建索引時,搜索效率降低,實時索引搜索效率不高。性能

Elasticsearch與Solr的比較搜索引擎

當單純的對已有數據進行搜索時,Solr更快。插件


當實時創建索引時, Solr會產生io阻塞,查詢性能較差, Elasticsearch具備明顯的優點。

隨着數據量的增長,Solr的搜索效率會變得更低,而Elasticsearch卻沒有明顯的變化。
3d

Elasticsearch 與 Solr 的比較總結日誌

  • 兩者安裝都很簡單;
  • Solr 利用 Zookeeper 進行分佈式管理,而 Elasticsearch 自身帶有分佈式協調管理功能;
  • Solr 支持更多格式的數據,而 Elasticsearch 僅支持json文件格式;
  • Solr 官方提供的功能更多,而 Elasticsearch 自己更注重於核心功能,高級功能多有第三方插件提供;
  • Solr 在傳統的搜索應用中表現好於 Elasticsearch,但在處理實時搜索應用時效率明顯低於 Elasticsearch。

從使用情景來說:solr更專一於文本搜索,而Elasticsearch則經常使用於查詢、過濾和分組分析統計,這裏舉例說明下實時搜索,好比日誌檢索,但願的是實時的日誌檢索。我的建議能夠先考慮elastic更易用和擴展(自然支持分佈式),若是elastic知足不了你的需求,這時候能夠考慮solr對格式和文檔方面的支持。這裏但願你們都能講一下本身的見解,但願有人提出好的選型辦法和意見

技術交流羣:208779755
我的公衆號:,平時發一些技術文章,有興趣的能夠關注一下

相關文章
相關標籤/搜索