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,它被索引和标记化但没有术语向量。因此你得到一个空值。人们需要更多信息来调试确切的原因。

于 2014-02-27T23:30:20.157 回答
0

将字段添加到索引中,您应该像这样指定第四个参数:

doc.Add(new Field("text", text, Field.Store.NO, Field.Index.ANALYZED,Field.TermVector.YES));

于 2015-06-09T19:31:25.340 回答