如果你只是需要一個坡PhraseQuery
(即,在拋出多餘的話),那麼你可以設置斜率上短語查詢,如:
queryBuilder.phrase()
.setSlop(2)
.onField("myField")
.sentance("this sentence missing something")
.createQuery();
但是,我不知道任何東西在支持嵌入模糊查詢的Hibernate API中,但在Lucene中,您可以使用SpanQuery
API來構建它。 SpanMultiTermQueryWrapper
和SpanNearQuery
,特別是,你會需要。例如:
FuzzyQuery query1 = new FuzzyQuery(new Term("field", "fuzy"));
FuzzyQuery query2 = new FuzzyQuery(new Term("field", "phrse"));
Query wrappedQuery1 = new SpanMultiTermQueryWrapper<FuzzyQuery>(query1);
Query wrappedQuery2 = new SpanMultiTermQueryWrapper<FuzzyQuery>(query2);
SpanQuery[] clauses = {wrappedQuery1, wrappedQuery2};
SpanNearQuery(clauses, 0, true);
謝謝。目前我會堅持我已經使用的slop方法。將來我會嘗試實現一個拼寫檢查器,因爲我認爲這將是一個比模糊搜索更好的整體解決方案。 –