PhraseQuery
PhraseQuery 用于搜索一系列术语。以下匹配短语 Hello World
(在用 StandardAnalyzer
索引之后)
Query query = new PhraseQuery.Builder()
.add(new Term("text", "hello"))
.add(new Term("text", "world"))
.build();
通过使用 setSlop
设置最大编辑距离 ,PhraseQuery 还可以处理查询中的 slop
或额外术语。这将匹配 Lorem ipsum sit amet dolor
:
Query query = new PhraseQuery.Builder()
.add(new Term("text", "lorem"))
.add(new Term("text", "amet"))
.setSlop(2)
.build();
你还可以设置精确的位置增量:
Query query = new PhraseQuery.Builder()
.add(new Term("text", "lorem"), 0)
.add(new Term("text", "sit"), 2)
.add(new Term("text", "dolor"), 4)
.build();