2010-12-07 48 views
2

我正在構建一個搜索,在其中需要實現其中的幾個功能。在ASP.NET中搜索的拼寫檢查器

1-它應該帶有所有的同義詞,就像有人搜索沙發一樣,它應該爲沙發加上匹配的結果加上像沙發,坐墊等語言匹配。爲了實現這一點,我正在使用全文搜索。

在我的查詢中,我使用FreeText,但它不會產生所需的結果。這就是我做的,

select * from Furn_Products Where FreeText(FurnName, 'Couch'); 

應該將載有靠墊,沙發和沙發關閉過程的名稱,但只帶來了名稱與沙發,我也可以通過簡單的查詢一樣做。任何解決方案

2 - 我需要檢查錯別字,就像如果有人類型soofa,它應該在結果帶來的沙發,沙發等

任何提示,就想法如何實現這一目標?提前致謝。

回答

0

據我所知,全文搜索不會讓你訪問所有可能的詞(詞幹等)。但從SQL Server 2008開始,您可以獲得所有索引單詞的列表。

有關更多功能,您可能必須使用像Lucene這樣的第三方索引器。

1

我同意尼爾森的觀點,已經有很多開源搜索引擎,他們經歷了大量的調試。最大的是Lucene/Solr,Sphinx和Xapian。

另外,添加同義詞擴展時要小心。例如,如果將划槳擴展爲蝙蝠,則可能會獲得許多您不想要的動物學結果。如果你正在做自動化查詢。找到一些例子,並建立一個角落案例的測試套件。如果您期望擁有人類用戶,請找一對夫婦,他們會引導您完成他們的流程,幫助構建測試套件,並計劃對搜索日誌非常友好。祝你好運!