0

次のコードを使用して、一連のドキュメントの tf を取得しようとしています。

IndexReader r = IndexReader.open(FSDirectory.open(new File("index")));

TermFreqVector tfv = r.getTermFreqVector(root[i],"contents"); // where root[] contains the
document IDs of the documents in my corpus

ヌル ポインター例外が発生し続けます。ここで何が間違っているのか教えてください。Lucene 3.6.2 を使用していますが、インデックス作成中に termFreqVector が有効になっていることを確認する方法はありますか?

4

2 に答える 2

0

私の推測が正しければ、フィールドcontentsは、インデックス化およびトークン化された TextField ですが、用語ベクトルはありません。したがって、null 値を取得しています。正確な原因をデバッグするには、さらに情報が必要です。

于 2014-02-27T23:30:20.157 に答える
0

フィールドをインデックスに追加するには、次のように 4 番目の引数を指定する必要があります。

doc.Add(new Field("テキスト", テキスト, Field.Store.NO, Field.Index.ANALYZED,Field.TermVector.YES));

于 2015-06-09T19:31:25.340 に答える