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();