2011-06-22 139 views
1

因此,我剛開始使用Lucene.Net,我必須說它的全文搜索的偉大框架,但是我在設計從在線電子商務門戶搜索策略時有點失落。使用Lucene.Net搜索策略

這是一個典型的場景

1-用戶在神奇的搜索框中輸入查詢「曼黑低於50 $ T恤」

它的一個衆所周知的情況下爲NLP喜歡的查詢和我做大量的研究發現沒有.net端口可用於Lucene.Net。

現在,我的問題是我如何爲上述用戶查詢制定一個查詢,並將其提交給Lucene返回一些含義完整的結果?

從哪裏開始,使用TermQuery,BooleanQuery,phraseQuery,電子商務產品網站的lucene.net搜索策略應該如何?

請指教?

回答

0

獲取用戶輸入最簡單的方法是使用Lucene.Net.QueryParsers中提供的某個提供的QueryParser解析它。

這至少會將他們輸入的短語分解成一些對索引進行正確搜索的短語。

由此您將得到一個查詢對象。然後,您可以將其進一步與其他條件相結合,例如屬性查詢(如其他字段上的「黑色」(TermQuery)或範圍查詢(NumericRangeQuery))。這些可以在一個布爾查詢中結合在一起。

如果您是在將短語中不足50美元實際轉換爲範圍查詢之後,您可以嘗試自己分析這些短語(不是一件容易的事),但我不知道任何可能會執行的lucene特性/貢獻這爲你開箱即用。

我預處理用戶輸入以對其進行術語替換,並自行計算來自wordnet數據庫的同義詞。