Lucene と Solr は、連携するように作成された 2 つの異なるApache プロジェクトであることは知っていますが、各プロジェクトの目的がわかりません。
これまで私が理解していたことは、検索インデックスの作成には Lucene が使用され、Solr はこのインデックスを使用して検索を実行するということでした。私は正しいですか、それともこれはまったく異なるアプローチですか?
Lucene と Solr は、連携するように作成された 2 つの異なるApache プロジェクトであることは知っていますが、各プロジェクトの目的がわかりません。
これまで私が理解していたことは、検索インデックスの作成には Lucene が使用され、Solr はこのインデックスを使用して検索を実行するということでした。私は正しいですか、それともこれはまったく異なるアプローチですか?
@darkheir: Lucene と Solr は、連携するように作成された 2 つの異なる Apache プロジェクトです。各プロジェクトの目的がわかりません。
Solr は内部で Lucene を使用します。Lucene は、Solr API について何も知りません。
Lucene は、アプリケーションに検索機能を追加できる強力な検索エンジン フレームワークです。検索関連の複雑な操作をすべて隠しながら、使いやすい API を公開します。Solr だけでなく、どのアプリケーションでもこのライブラリを使用できます。
Solr は Lucene を中心に構築されています。これは単なる Lucene の http-wrapper ではなく、Luceneにさらなる機能を追加することが知られています(アーカイブ済み)。Solr は箱から出してすぐに使用できます。これは、関連するインフラストラクチャと、Lucene が提供するものに加えてより多くの機能を提供する Web アプリケーションです。
@darkheir: Lucene は検索インデックスの作成に使用され、Solr はこのインデックスを使用して検索を実行します。私は正しいですか、それともこれはまったく異なるアプローチですか?
Lucene は、 Solr による消費のために Index を作成するだけではありません。Lucene は、すべての検索関連の操作を処理します。どのアプリケーションでも Lucene フレームワークを使用できます。
例としては、Solr、Elastic Search、LinkedIn (はい、ボンネットの下にあります) などがあります。
この記事をチェックしてください: Lucene と Solr
更新 (2014 年 6 月 18 日)
いつルセンを使用するのですか?
Solr を使用する場合
注: Solr のカスタマイズが難しいという意味ではありません。Solr は非常に柔軟で、多くのプラグ可能な API ポイントを提供するため、コードを追加できます。
「 Lucene を使用する必要がある」陣営に該当する人もいますが、使いやすいので、単純な Lucene よりも Solr を好みます。ただし、彼らは Solr を最大限にカスタマイズすることを決して抑制しません。
ところで、Solr (4.x) には Lucene (4.x) よりも多くのリソースがあることがわかりました。
Lucene は、インデックス作成、分析、検索などを実装する低レベルの Java ライブラリ (.NET へのポートなど) です。
Solr は、Lucene を使用するスタンドアロンの構成済み製品/Web アプリケーションです。Java API ではなく HTTP API を扱いたい場合は、Solr が最適です。Solr にはいくつかの追加機能もあります (例: grouping )。
Solr と Lucene の関係を概念化する簡単な方法は、車とそのエンジンの関係です。エンジンを運転することはできませんが、車を運転することはできます。同様に、Lucene はそのままでは使用できないプログラム ライブラリですが、Solr はすぐに使用できる完全なアプリケーションです。
Solr は lucene の上に構築され、検索プラットフォームを提供します。
下から上に次のレイヤーでプラットフォームを検索します。
参考記事:エンタープライズサーチ
SOLR はLucene インデックスのラッパーです。
理解するのは簡単です: SOLR は車で、Lucene はそのエンジンです。車の運転方法(SOLR)と、車のエンジンに問題が発生した場合に備えて、エンジン(Lucene)のいくつかのことを知る必要があるだけです。
安全なドライブをお楽しみください:)