0
如何使用Apache Lucene獲得最佳分數搜索?如何使用Apache Lucene獲得精確的搜索結果?
1. State Authority
2. Authority State
現在用戶搜索「Authority State」或「State Authority」,我們得到的結果都是相同的。但對於「國家權力」的搜索結果應該是
1. Authority State
2. State Authority
以下是對Lucene的字段查詢:
name:Authority State*
name:Authority State
name:Authority*
name:State*
for (String field : INDEXED_FIELDS) {
bool.should(qb.keyword().wildcard().onField(field).matching(userInputBuilder.toString()).createQuery());
}
for (String field : INDEXED_FIELDS) {
for (String match : pattern) {
bool.should(qb.keyword().onField(field).matching(match).createQuery());
}
}
有成果不排序。
任何人都可以建議如何得到確切的結果嗎?
你的Java代碼沒有很好地解釋。嘗試粘貼最終查詢字符串。另外,當您顯示結果順序時,他們有不同的分數嗎? –