LuceneとSolrは2つの異なるものであることは知っていますApache プロジェクト連携して動作するように作られていますが、各プロジェクトの目的がわかりません。
これまで私が理解していたのは、Lucene は検索インデックスを作成するために使用され、Solr はこのインデックスを使用して検索を実行するというものでした。私の考えは正しいでしょうか、それともこれはまったく異なるアプローチでしょうか?
ベストアンサー1
@darkheir: Lucene と Solr は連携して動作するように作成された 2 つの異なる Apache プロジェクトですが、各プロジェクトの目的がわかりません。
Solr は内部で Lucene を使用します。Lucene は Solr API について何も知りません。
Lucene は、アプリケーションに検索機能を追加できる強力な検索エンジン フレームワークです。検索関連の複雑な操作をすべて隠しながら、使いやすい API を公開します。Solr だけでなく、あらゆるアプリケーションでこのライブラリを使用できます。
SolrはLuceneを中心に構築されています。これはLuceneのhttpラッパーだけではなく、知られているLuceneにさらに武器を追加する(アーカイブ済み)。Solr はすぐに使用できます。これは、Lucene が提供する機能に加えて、関連するインフラストラクチャとさらに多くの機能を提供する Web アプリケーションです。
@darkheir: Lucene は検索インデックスを作成するために使用され、Solr はこのインデックスを使用して検索を実行します。私の考えは正しいですか、それともこれはまったく異なるアプローチですか?
LuceneはSolrが使用するインデックスを作成するだけではありませんLucene はすべての検索関連操作を処理します。どのアプリケーションでも Lucene フレームワークを使用できます。
例としては、Solr、Elastic Search、LinkedIn(はい、内部的には)などが挙げられます。
この記事をご覧ください:Lucene 対 Solr
更新 (2014/6/18)
Lucene はいつ使用すればよいですか?
- あなたは検索エンジニアであり、
- あなたはプログラマーであり、
- Luceneの内部のほぼすべてを制御したい場合
- 要件により、Luceneにあらゆる種類のマニアックなカスタマイズを行う必要があり、
- スケーリング、配布など、検索のインフラストラクチャ要素を管理する意思があること。
Solr はいつ使用すればよいですか?
- 上記の少なくとも 1 つは意味をなさない。または
- すぐに使えるもの(Javaの知識がなくても)が欲しい、または
- インフラストラクチャの要件が検索のカスタマイズ要件を上回ります。
注記: Solr のカスタマイズが難しいという意味ではありません。Solr は非常に柔軟性が高く、プラグ可能な API ポイントを多数提供しているため、独自のコードを簡単に組み込むことができます。
「Luceneを使用する必要があります' 陣営ですが、使いやすいため、プレーンな Lucene よりも Solr を好んでいます。ただし、Solr を最大限にカスタマイズすることを躊躇することはありません。
ちなみに、Solr (4.x) には Lucene (4.x) よりも多くのリソースがあることがわかります。