ES と呼ばれる ElasticSearch は、オープンソースで拡張性の高い分散型全文検索エンジンであり、solr よりも使いやすいです。
Elasticsearch は、 Luceneベースの検索サーバーです。RESTful Web インターフェイスに基づいた分散マルチユーザー対応の全文検索エンジンを提供します。Java 言語で開発され、Apache ライセンスの条件に基づいてオープン ソースとしてリリースされた Elasticsearch は、人気のあるエンタープライズ グレードの検索エンジンです。Elasticsearch はクラウド コンピューティングで使用され、安定性、信頼性、高速性、インストールと使用が簡単なリアルタイム検索を実現します。
Elasticsearch は、分散型で拡張性が高く、リアルタイム性の高い検索およびデータ分析エンジンです。大量のデータを簡単に検索、分析、調査できます。Elasticsearch の水平スケーラビリティを最大限に活用すると、本番環境でのデータの価値が高まります。Elasticsearch の実装原理は主に、ユーザーが Elasticsearch データベースにデータを送信し、次に単語分割コントローラーを使用して対応する文を分割し、その重みと単語分割結果をデータに保存します。ユーザーがデータを検索すると、結果は重みに応じてランク付けされ、スコア付けされ、返された結果がユーザーに表示されます。
Lucene は ElasticSearch の中核です
Elastic は Lucene に基づいており、開始を非常に簡単にするためにいくつかのカプセル化と機能強化が行われています。
比較した
Solr は Web サービスと同様の API インターフェイスを提供します
ElasticSearch は、シンプルな Restful API を通じて Lucence の複雑さを隠し、全文検索を容易にします
選択
単に既存のデータを検索する場合は、Solr の方が高速です
インデックスを構築するとき、Solr は IO ブロックを生成し、クエリのパフォーマンスが低下します。
データ量が増えると(データ量が多くなると)Solrの検索効率は低下しますが、ElasticSearchは大きな変化はありません
要約する
1 ElasticSearch はすぐに使える非常にシンプルな Solr のインストールは少し複雑です
2 Solr はサブ管理に Zookeeper を使用しますが、ElasticSearch には独自の分散調整管理機能があります
3 Solr は JSON、XML、CSV などのより多くの形式のデータをサポートしますが、ElasticSearch は JSON ファイル形式のみをサポートします
4 Sorl クエリは高速ですが、インデックスの更新が遅い (挿入と削除が遅い)。多くのクエリを使用する電子商取引やその他のアプリケーションに使用されます。ElasticSearch はインデックスを迅速に構築します。つまり、クエリは高速です。 FacebookやSinaなどの検索に使用されます。
5 Solr は正式に多くの機能を提供しますが、ElasticSearch 自体はコア機能に重点を置いています。高度な機能はサードパーティのプラグインによって提供できます。たとえば、グラフィカル インターフェイスには kibana のサポートが必要です。
6 Solr は従来の検索アプリケーションにとって強力なソリューションですが、新時代の検索アプリケーションには ElasticSearch の方が適しています
7 Solr は比較的成熟しており、より大規模で成熟したユーザー、開発者、寄稿者がいますが、ElasticSearch は開発者と保守者の数が少なく、更新が速すぎると考えています。