0

Apache luceneを調べたところ、field.store.Yesまたはstore fieldのいずれかを使用してフィールドを保存するまで、現在のヒットの特定のフィールドを取得できないことがわかりました。

現在、Apache solrでは、次のコマンドのみを使用して、インデックス作成用のデータを投稿しています。

java -Durl = http:// "localhost":8080 / solr / update -jar post.jar * .xml

さて、私の質問は、solrがxmlファイルにファイルされた各ファイルを解析して保存するのか、それとも保存せずにファイル全体に単純にインデックスを付けるのかということでした。

少し検索した後、フィールドを保存するかどうかを指定するschema.xmlについて知りました。

ここで、デスクトップアプリケーションで同じことを行う方法を知りたいので、各行にstore.filed.yesを指定する必要はありません。

4

2 に答える 2

1

Based on your comment to the answer provided by @bmargulies, for a desktop application, you could either use EmbeddedSolr or manage your the index directly using Lucene. Between the two, I would recommend EmbeddedSolr as Solr is a best practice implementation of Lucene.

于 2013-03-19T11:39:48.997 に答える
1

その答えは、Solr schema.xml の内容に完全に依存します。Solr は、そのファイルで定義されたフィールドのみを保存し、そのファイルのフィールド定義は、参照する Lucene パラメーターを指定します。<field/>または要素でフィールドが呼び出されない場合<dynamicField/>、Solr はエラーをログに記録します。それを保存したり、インデックスを作成したりすることはまったくありません。したがって、スキーマ内のすべてのフィールドを許可する必要があります。

Solr は、他の構成ファイルで「更新要求プロセッサ」を定義して、データの追加の前処理を実行することもできます。

于 2013-03-19T06:55:03.417 に答える