在Lucene中获取每个文档的搜索词Hits(出现次数)

时间:2009-12-17 10:18:03

标签: search lucene

任何人都可以建议我在Lucene中获取每个文档的单词(不出现)的最佳方式吗?..

2 个答案:

答案 0 :(得分:5)

Lucene使用基于字段而非基于文档的索引。 为了获得每个文档的术语计数:

  1. 使用IndexReader.document()和isDeleted()迭代文档。
  2. 在文档d中,使用Document.getFields()迭代字段。
  3. 对于每个字段f,使用getTermFreqVector()获取字词。
  4. 查看术语向量和每个术语的和频率。
  5. 每个字段的术语频率总和将为您提供文档的术语频率向量。

答案 1 :(得分:1)

SpanTermQuery.getSpans将列出文档以及术语出现的位置。文档已排序,因此您只需计算每个文档出现的次数,忽略位置信息。