0

在 StackOverflow,我在 Lucene / Lucene.net 搜索中找到了这个,我如何计算每个文档的命中数?

但我无法从下面的代码中定义 SpanQuery。我正在使用 Lucene 4.4.0(spanquery 定义与旧版本不同)

IndexReader indexReader = // define your index reader here
SpanQuery spanQuery = // define your span query here
Spans spans = spanQuery.getSpans(indexReader);
int occurrenceCount = 0;
while (spans.next()) {
    occurrenceCount++;
}

有人可以帮忙吗?我真的很感激一个例子的完整答案

4

2 回答 2

0

根据链接到的答案,获取索引中术语出现总数的更简单方法是:

Term term = new Term("myfield", "myterm");
long numOccurances = indexReader.totalTermFreq(term);
于 2013-10-30T16:12:09.550 回答
0

例如

SpanQuery spanQuery = new SpanTermQuery(new Term("myfield", "myterm"); // define your span query here`enter code here`

当您对单个术语感兴趣时可以使用(此示例在“myfield”字段中查找术语“myterm”)。

还请查看其他 SpanQuery 实现(SpanOrQuery、SpanNearQuery、SpanNotQuery、...)

于 2014-01-07T13:40:53.573 回答