0

对于以下文档(假设每个文档中有一个字段):
1 - ABCD
2 - AB
3 - CDAB

(AD 是不同的术语)

我想创建一个仅匹配文档 1 和 2 的查询“A B”。我知道我可以插入一个特殊的“字段开头”标记来帮助我,但我更愿意避免这种情况(需要重新索引所有数据,而且也有点丑)。

怎样才能做到这一点?

4

1 回答 1

0

弄清楚了。诀窍是将SpanNearQuerySpanFirstQuery结合起来。

  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);
于 2012-05-29T14:51:38.110 回答