Solr 支持更多格式的數據,而 Elasticsearch 僅支持json文件格式;
Solr 官方提供的功能更多,而 Elasticsearch 本身更注重於核心功能,高級功能多有第三方插件提供;
Solr 在傳統的搜索應用中表現好於 Elasticsearch,但在處理實時搜索應用時效率明顯低於 Elasticsearch。
Solr 是傳統搜索應用的有力解決方案,但 Elasticsearch 更適用於新興的實時搜索應用。
隨着數據量的增加,Solr的搜索效率會變得更低,而Elasticsearch卻沒有明顯的變化。
當實時建立索引時, Solr會產生io阻塞,查詢性能較差, Elasticsearch具有明顯的優勢。
當單純的對已有數據進行搜索時,Solr更快。
Solr的優缺點
優點
Solr有一個更大、更成熟的用戶、開發和貢獻者社區。
支持添加多種格式的索引,如:HTML、PDF、微軟 Office 系列軟件格式以及 JSON、XML、CSV 等純文本格式。
Solr比較成熟、穩定。
不考慮建索引的同時進行搜索,速度更快。
Elasticsearch的優缺點**:
優點
Elasticsearch是分佈式的。不需要其他組件,分發是實時的,被叫做”Push replication”。
Elasticsearch 完全支持 Apache Lucene 的接近實時的搜索。
處理多租戶(multitenancy)不需要特殊配置,而Solr則需要更多的高級設置。
Elasticsearch 採用 Gateway 的概念,使得完備份更加簡單。
各節點組成對等的網絡結構,某些節點出現故障時會自動分配其他節點代替其進行工作。
缺點
只有一名開發者(當前Elasticsearch GitHub組織已經不只如此,已經有了相當活躍的維護者)
還不夠自動(不適合當前新的Index Warmup API)
Elasticsearch是一個實時的分佈式搜索和分析引擎