在StackOverflow,我发现了这个In a Lucene / Lucene.net search, how do I count the number of hits per document?
但我无法从下面的代码定义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++;
}
有人可以帮忙吗?我非常感谢一个例子的完整答案
答案 0 :(得分:0)
根据链接答案,获取索引中术语总出现次数的更简单方法是:
Term term = new Term("myfield", "myterm");
long numOccurances = indexReader.totalTermFreq(term);
答案 1 :(得分:0)
例如
SpanQuery spanQuery = new SpanTermQuery(new Term("myfield", "myterm"); // define your span query here`enter code here`
当您对单个术语感兴趣时,可以使用(此示例在“myfield”字段中查找术语“myterm”)。
另请参阅其他SpanQuery实现(SpanOrQuery,SpanNearQuery,SpanNotQuery,...)