web-dev-qa-db-ja.com

solrとluceneの違い

LuceneとSolrは2つの異なるものであることを知っています Apacheプロジェクト 一緒に動作するように作られていますが、各プロジェクトの目的はわかりません。

これまで私が理解していたことは、Luceneを使用して検索インデックスを作成し、Solrがこのインデックスを使用して検索を実行することです。私は正しいですか、これはまったく異なるアプローチですか?

151
darkheir

@ 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を使用する場合?

  • あなたは検索エンジニアであり、かつ
  • あなたはプログラマーであり、
  • Luceneのほぼすべての内部を完全に制御したい
  • 要件では、Luceneに対してあらゆる種類のオタクなカスタマイズを行う必要があります。
  • スケーリング、配布など、検索のインフラストラクチャ要素を処理する必要があります。

Solrを使用する場合?

  • 上記の少なくとも1つは意味がありませんでした。または
  • (Javaの知識がなくても)すぐに使用できる状態の何かが必要な場合OR
  • インフラストラクチャの要件は、検索のカスタマイズ要件を上回ります。

NOTE:Solrのカスタマイズが難しいというわけではありません。 Solrは非常に柔軟性があり、多くのプラグ可能なAPIポイントを提供するため、コードをスローインできます。

Lucene」キャンプを使用する必要がありますが、使いやすいため、プレーンLuceneよりもSolrを好む人がいます。ただし、Solrのカスタマイズを最大限に制限することはありません。

ところで、Solr(4.x)にはLucene(4.x)よりも多くのリソースがあることがわかります。

219
phani

Luceneは、インデックス作成、分析、検索などを実装する低レベルのJavaライブラリ(.NETなどへのポート付き)です。

Solrは、Luceneを使用するスタンドアロンの事前構成済み製品/ webappです。 Java AP​​Iの代わりにHTTP APIを処理する場合、Solrが最適です。また、Solrにはいくつかの追加機能があります(例: grouping )。

28
mindas

SolrとLuceneの関係を概念化する簡単な方法は、車とそのエンジンです。エンジンは運転できませんが、車は運転できます。同様に、Luceneはそのままでは使用できないプログラムライブラリですが、Solrはそのまま使用できる完全なアプリケーションです。

ソース: Lucene-vs-solr-Luceneチュートリアル

20
Vikas Kumar

SOLRは、ラッパー over Luceneインデックスです。

理解するのは簡単です:SOLRはcarで、Luceneはそのengineです。車の運転方法(SOLR)を知る必要があるだけでなく、車のエンジンに問題がある場合に備えてエンジン(Lucene)のいくつかのことを知る必要もあります。

安全なドライブを持っている:)

9
Behzad Qureshi

Solrはluceneの上に構築され、検索プラットフォームを提供します。

以下のレイヤーの検索プラットフォームを下から上に:

  • データ
    • 目的:さまざまなデータ型とソースを表現する
  • ドキュメント構築
    • 目的:インデックス作成用のドキュメント情報を作成する
  • インデックス作成と検索
    • 目的:ドキュメントインデックスの構築とクエリ
  • ロジック強化
    • 目的:検索クエリと結果を処理するための追加ロジック
  • 検索プラットフォームサービス
    • 目的:検索エンジンコアの機能を追加して、サービスプラットフォームを提供します。
  • UIアプリケーション
    • 目的:エンドユーザーの検索インターフェイスまたはアプリケーション

solr stack

参照記事: エンタープライズ検索

9
mingxue

ここでは、lucenceとsolarの目的についての良い比較を見つけることができます:

http://www.lucenetutorial.com/lucene-vs-solr.html

TLDR:Lucenceは単なるエンジンであり、Solarは運転可能な車です(rest-apiなどを装備)

0
Martin Abraham