2012-05-08 134 views
0

我知道lucene的不同部分以及如何使用它們,但我還有一個問題。 Lucene正在我的網上商店中運行,並做得很好。現在我想通過單個搜索字段優化搜索功能的搜索結果,用戶可以在其中輸入任何他想搜索的內容。 從現在開始,我將不同的搜索方法結合起來,得到類似短語和模糊搜索的結果。問題是我總是得到一個巨大的結果集。我想要一個更小的結果列表和最好的點擊。當我離開模糊時,我可以做到這一點。然後我有一個很好的搜索結果,但是當用戶鍵入錯誤的結果是空的。Lucene搜索結果不是最優的

必須有一個解決方案來獲得一個很好的成績小結果集,並結合模糊搜索如果命中是壞的!

我有什麼想法?我應該走哪條路? 這種情況的最佳解決方案是什麼?

+0

您是否有任何查詢日誌來確定發生了哪些拼寫錯誤? – sisve

回答

0

一種方法是首先使用非模糊查詢進行搜索。如果該搜索返回合理的點擊次數,那麼你就完成了。

如果第一次搜索返回0次匹配,那麼通過組合搜索再次嘗試搜索,其中每個單獨的搜索項都被模糊一次 - 例如,如果您有「ABC」,則第二次搜索將類似於「和B和C)或(A和B〜和C)或(A和B和C〜)「。這將盡量減少引入的模糊性,同時還會使每個搜索詞模糊不清。

請注意,我還沒有嘗試過這種方法,但我嘗試了一種類似的方法,在您的第二次搜索中刪除每個搜索項一次,因此您處理的搜索項完全不在索引中 - 「(A AND B )或(A和C)或(B和C)「。