2012-01-24 2 views
1

Luceneを読み始めました。提供された例の1つでは、文書を索引に追加する前に、ファイル全体が文書に追加されていました。Luceneでの文書サイズの影響

ただし、ドキュメントでは、このインデックス作成手法では優れたパフォーマンスが得られないことが示唆されていました。推奨される方法は、ファイルの各行を別々のドキュメントに保存することです。

インデックス作成のパフォーマンスを向上させる方法がわかりました。

また、すべてのファイル行をドキュメントフィールドとして追加するには、最初にトークンをトークン化してから、トークンを取得してから同じフィールドを作成する必要があることを確認したかったのです。

+4

あなたはそれについて読むことができるドキュメントを指すことができます。 –

+0

私は以前これをやっていることは聞いたことがありません。私にはちょっと変わったようです。 –

+0

パンゲアの質問に答えるには - パッケージorg.apache.lucene.demo.IndexFilesを参照してください。 indexDocsメソッドについては、javadocを参照してください。 –

答えて

1

パフォーマンスを考慮しなくても、これらの2つの方法では同じ結果が得られません。最初の行が "fox"で2行目が "dog"で、 "fox"と "dog"を検索した場合、2番目の方法では結果は得られません。

ドキュメントとフィールドを作成する前に、トークン化を実行する必要はありません。トークン化は、IndexWriter#add(Document)を呼び出すと実行されます。

Luceneを使い始める場合は、the demo codeを読むことを強くおすすめします。 Luceneインデックスを作成して検索する方法を説明します。

開発中のアプリケーションでインデックス速度が重要な場合、Lucene wikiには非常に良いアドバイスがあります。

関連する問題