LuceneとSolrは2つの異なるものであることを知っています Apacheプロジェクト 一緒に動作するように作られていますが、各プロジェクトの目的はわかりません。
これまで私が理解していたことは、Luceneを使用して検索インデックスを作成し、Solrがこのインデックスを使用して検索を実行することです。私は正しいですか、これはまったく異なるアプローチですか?
@ darkheir:LuceneとSolrは2つの異なるApacheプロジェクトであり、連携して動作するようになっています。各プロジェクトの目的はわかりません。
1)Solrはフードの下でLuceneを使用します。 LuceneにはSolr APIについての手がかりはありません。
2)Luceneは、アプリケーションに検索機能を追加できる強力な検索エンジンフレームワークです。検索に関連するすべての複雑な操作を隠しながら、使いやすいAPIを公開します。 Solrだけでなく、どのアプリケーションでもこのライブラリを使用できます。
3)SolrはLuceneを中心に構築されています。これはLuceneの単なるhttpラッパーではなく、 Lucene に武器庫を追加することが知られています。 Solrはすぐに使用できます。これは、Luceneが提供するものに加えて、関連するインフラストラクチャとより多くの機能を提供するWebアプリケーションです。
@ darkheir:Luceneは検索インデックスの作成に使用され、Solrはこのインデックスを使用して検索を実行します。私は正しいですか、これはまったく異なるアプローチですか?
4)Luceneは、Solrによる消費のインデックスを作成するだけではありません。 Luceneは、検索に関連するすべての操作を処理します。どのアプリケーションでもLuceneフレームワークを使用できます。
例としては、Solr、Elastic Search、LinkedIn(はい、ボンネットの下)などがあります。
この記事をご覧ください: Lucene vs Solr
UPDATE(6/18/14)
Luceneを使用する場合?
Solrを使用する場合?
NOTE:Solrのカスタマイズが難しいというわけではありません。 Solrは非常に柔軟性があり、多くのプラグ可能なAPIポイントを提供するため、コードをスローインできます。
「Lucene」キャンプを使用する必要がありますが、使いやすいため、プレーンLuceneよりもSolrを好む人がいます。ただし、Solrのカスタマイズを最大限に制限することはありません。
ところで、Solr(4.x)にはLucene(4.x)よりも多くのリソースがあることがわかります。
Luceneは、インデックス作成、分析、検索などを実装する低レベルのJavaライブラリ(.NETなどへのポート付き)です。
Solrは、Luceneを使用するスタンドアロンの事前構成済み製品/ webappです。 Java APIの代わりにHTTP APIを処理する場合、Solrが最適です。また、Solrにはいくつかの追加機能があります(例: grouping )。
SolrとLuceneの関係を概念化する簡単な方法は、車とそのエンジンです。エンジンは運転できませんが、車は運転できます。同様に、Luceneはそのままでは使用できないプログラムライブラリですが、Solrはそのまま使用できる完全なアプリケーションです。
SOLRは、ラッパー over Luceneインデックスです。
理解するのは簡単です:SOLRはcarで、Luceneはそのengineです。車の運転方法(SOLR)を知る必要があるだけでなく、車のエンジンに問題がある場合に備えてエンジン(Lucene)のいくつかのことを知る必要もあります。
安全なドライブを持っている:)
Solrはluceneの上に構築され、検索プラットフォームを提供します。
以下のレイヤーの検索プラットフォームを下から上に:
参照記事: エンタープライズ検索
ここでは、lucenceとsolarの目的についての良い比較を見つけることができます:
http://www.lucenetutorial.com/lucene-vs-solr.html
TLDR:Lucenceは単なるエンジンであり、Solarは運転可能な車です(rest-apiなどを装備)