2010-06-24 127 views
4

我有一個asp.net網頁,用於使用FTS在我們的數據庫中搜索公司名稱。他們在搜索框中輸入公司名稱並提交。當搜索字符串中有任何干擾詞時,SQL全文搜索不會返回任何結果

首先我修剪任何前導或尾隨空格,然後用「NEAR」替換每個內部空間。

所以對於一個搜索:

"The Association of Lefthanded Picklepickers" 

送入爲:

"The NEAR Association NEAR of NEAR Lefthanded NEAR Picklepickers" 

成以下,其中由搜索結果網格使用條款:

WHERE CONTAINS(CompanyName, @Search) 

此方法效果很好直到一個噪音詞(即,是,等等)是用戶搜索的一部分。發生這種情況時,SQL Server不返回任何搜索結果。在上述搜索的情況下,即使數據庫中存在具有確切標題的公司,「of」字也會中斷搜索。

我該怎麼做才能解決這個問題?

您的想法和建議非常感謝!

回答

3

嘗試使用如這裏所描述的變換噪音詞的選擇:http://technet.microsoft.com/en-us/library/ms187914(SQL.90).aspx

sp_configure 'show advanced options', 1 
RECONFIGURE 
GO 
sp_configure 'transform noise words', 1 
RECONFIGURE 
GO 
+0

這工作,但它廣泛變換噪音詞服務器? – David 2010-06-24 21:47:54

+0

是的,這是一個服務器範圍的設置。 – 2010-06-25 15:39:18

相關問題