如何使用spans对象来获取spanNearQuery文档中的所有匹配项,我在这里得到了它,但不知道如何继续
for(int i =0; i < splitwords.length ; i++)
{
sQuery[i] = new SpanTermQuery(new Term(field,splitwords[i]));
}
SpanQuery queryCount = new SpanNearQuery(sQuery, 0, true);
int numspans = 0;
Spans span = queryCount.getSpans(reader);
int docId;
while(span.next())
{
numspans++;
docId = span.doc();
System.out.println(span.end() - span.start());
}
我能否在当前文件中获得所有比赛(比赛次数)?
答案 0 :(得分:1)
这将为您提供一个哈希表,其中包含每个文档ID的匹配数:
Hashtable<Integer, Integer> hits = new Hashtable<Integer, Integer>();
while (spans.next() == true)
{
int docID = spans.doc();
int hit = hits.get(docID) != null ? hits.get(docID) : 0;
hit++;
hits.put(docID, hit);
}