solr:
優勢
- Solr有一個更大、更成熟的用戶、開發和貢獻者社區。
- 支持添加多種格式的索引,如:HTML、PDF、微軟 Office 系列軟件格式以及 JSON、XML、CSV 等純文本格式。
- Solr比較成熟、穩定。
- 不考慮建索引的同時進行搜索,速度更快。
缺點
創建索引時,搜索效率降低,實時索引搜索效率不高。html
Elasticsearch
優勢
- Elasticsearch是分佈式的。不須要其餘組件,分發是實時的,被叫作」Push replication」。
- Elasticsearch 徹底支持 Apache Lucene 的接近實時的搜索。
- 處理多租戶(multitenancy)不須要特殊配置,而Solr則須要更多的高級設置。
- Elasticsearch 採用 Gateway 的概念,使得完備份更加簡單。
- 各節點組成對等的網絡結構,某些節點出現故障時會自動分配其餘節點代替其進行工做。
缺點
還不夠自動,不適合當前新的Index Warmup API (參考:http://zhaoyanblog.com/archives/764.html)json
總結:
- 當單純的對已有數據進行搜索時,Solr更快。
- 當實時創建索引時, Solr會產生io阻塞,查詢性能較差, Elasticsearch具備明顯的優點。
- 隨着數據量的增長,Solr的搜索效率會變得更低,而Elasticsearch卻沒有明顯的變化。
- Solr的架構不適合實時搜索的應用。
- Solr 支持更多格式的數據,而 Elasticsearch 僅支持json文件格式
- Solr 在傳統的搜索應用中表現好於 Elasticsearch,但在處理實時搜索應用時效率明顯低於 Elasticsearch
- Solr 是傳統搜索應用的有力解決方案,但 Elasticsearch 更適用於新興的實時搜索應用