我试图在 SpanNearQuery 中获取围绕匹配项的单词,但我无法弄清楚如何去做。我知道这里有一个称为记录GetSpans
的函数:
129 public override Spans GetSpans(IndexReader reader)
130 {
131 if (clauses.Count == 0)
132 // optimize 0-clause case
133 return new SpanOrQuery(GetClauses()).GetSpans(reader);
134
135 if (clauses.Count == 1)
136 // optimize 1-clause case
137 return clauses[0].GetSpans(reader);
138
139 return inOrder?(Spans) new NearSpansOrdered(this, reader, collectPayloads):(Spans) new NearSpansUnordered(this, reader);
140 }
这是我应该使用的函数(因为它确实返回了一个跨度列表/数组,但是一个跨度)还是有其他一些函数?
例如,如果我的文本是:lucene is very powerful
并且我的搜索词是lucene powerful
,我想检索匹配中的单词。