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