6
对于任何文档,术语FreqVector始终为空。 我确定这些文档在集合和字段中存在。那么问题在哪里?Lucene:termFreqVector始终为空?
对(INT I = 0;我< reader.numDocs();我++){
TermFreqVector TFV = reader.getTermFreqVector(I, “标签”);
感谢
对于任何文档,术语FreqVector始终为空。 我确定这些文档在集合和字段中存在。那么问题在哪里?Lucene:termFreqVector始终为空?
对(INT I = 0;我< reader.numDocs();我++){
TermFreqVector TFV = reader.getTermFreqVector(I, “标签”);
感谢
你确定你与你Field.TermVector.YES
索引的字段?这里有一个工作示例:
Directory directory = new RAMDirectory();
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30);
MaxFieldLength mlf = MaxFieldLength.UNLIMITED;
IndexWriter writer = new IndexWriter(directory, analyzer, true, mlf);
Document doc = new Document();
doc.add(new Field("tags", "foo bar", Field.Store.NO,
Field.Index.ANALYZED, Field.TermVector.YES));
writer.addDocument(doc);
writer.close();
IndexReader reader = IndexReader.open(directory);
for (int i = 0; i < reader.numDocs(); i++) {
TermFreqVector tfv = reader.getTermFreqVector(i, "tags");
System.out.println(tfv);
}
你岩石,感谢 – user680406 2011-04-21 09:05:58
@ user680406没有问题:) – WhiteFang34 2011-04-21 09:08:08
@ user680406: 你永远不应该使用numDocs()来访问文件的索引,而是maxDoc()代替。索引删除后,您将无法获得所有文档。 – 2011-04-26 08:32:35