elasticsearch的實時搜索性能為什麼比solr好?

之前項目用了es,最近在做總結,想對比下與solr的區別,查閱了很多文檔,都是說es的實時搜索更優於solr,但是都沒有說具體是為什麼這樣,求大俠相助!!


對比性能其實很不好回答,因為沒有我還不知道有 benchmark做了很深入的,而且沒有偏見的性能對比。

就實時搜索而言(Near Real Time Search), feature 實現主要是lucene layer. Elasticsearch 比 SOLR 提前實現這個feature。但是現在Solr 也進步了不少,性能差別並沒有很大,畢竟底層都是用lucene 和JVM的嘛。 但是因為實現不一樣,feature 和 feature 之前性能差別肯定也還是有的。但是不同的use case,性能對比結果也是不一樣。而且兩個產品都有很多參數可以調試, 結果也就更不一樣了。

就我個人的理解,畢竟elasticsearch 是2010 年後 才出現的項目,設計和實現上也更加考究,也更容易上手。 Solr的主要問題是直到 solr cloud, 一直並沒有 很好的scale 和 做分散式的辦法。SolrCloud release之後 bug 又很多。

加之就Elastic 這個產品 Stack 而言,search engine 是一塊基石。本身產品內部設計架構強調模塊化,使得用戶很容易在上面搭建自己的擴展插件 (aws plugin 啥的)。然後 Kibana前台UI 和 Logstash 又給產品找來了很多眼球。我想這是Elasticsearch 現在更流行的原因吧。


推薦閱讀:

TAG:實時搜索 | 搜索引擎 |