在Lucene的邻近搜索中,不会保留搜索到的单词的顺序。
有没有办法过滤搜索,以便word1始终位于生成文档中的word2之前。
答案 0 :(得分:1)
有SpanNearQuery
。
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);