0

在 Lucene 的邻近搜索中,搜索单词的顺序是不被维护的。

有什么方法可以过滤搜索,以便 word1 在结果文档中总是出现在 word2 之前。

4

1 回答 1

1

SpanNearQuery那个。

http://lucene.apache.org/core/old_versioned_docs/versions/2_9_4/api/all/org/apache/lucene/search/spans/SpanNearQuery.html

SpanTermQuery tq1 = new SpanTermQuery(new Term("field", "word1"));
SpanTermQuery tq2 = new SpanTermQuery(new Term("field", "word2"));
SpanNearQuery spanNear = new SpanNearQuery(new SpanQuery[]{tq1,tq2}, 2, true);
于 2012-08-29T13:14:10.830 回答