对于以下文件(假设每个文档中都有一个字段):
1 - A B C D
2 - A B
3 - C D A B
(A-D是不同的术语)
我想创建一个只与文档1和2匹配的查询“AB”。我知道我可以插入一个特殊的“字段开头”令牌来帮助我,但我更愿意避免这种情况(需要重新编制索引)所有的数据,也有点难看。)
如何实现?
答案 0 :(得分:0)
想出来。诀窍是将SpanNearQuery与SpanFirstQuery结合起来。
SpanNearQuery spanNearQuery = new SpanNearQuery(new[] { new SpanTermQuery(new Term(field, "A")), new SpanTermQuery(new Term(field,"B")) },0, true);
SpanFirstQuery spanFirstQuery = new SpanFirstQuery(spanNearQuery, 2);