2009-07-29 53 views
0

我在我的CMS的少數表格上使用了MSSQL的全文索引,不幸的是卡住了SQL Server 2000.我使用freetexttable連接查詢索引並獲得了相當不錯的結果,但是我們有一些獨特的術語很可能是搜索查詢,看起來似乎不是詞根。例如,使用術語「smartbar」的查詢返回幾行,但使用「smartbars」的查詢返回不同的,僅部分重疊的結果集。使用freetextable使用詞幹分析MS SQL Server 2000全文索引查詢嗎?

如果我正確理解詞幹概念,我假設第一個查詢將包含第二個查詢中的所有行,但它不會。

看看MSDN的聯機叢書,this page提到在freetext_string參數註釋中聲明,但是this page沒有。從那我會假設 SQL Server 2000不會干擾freetexttable查詢中的單詞;這是一個正確的假設嗎?有沒有什麼辦法可以鼓勵或啓用SQL Server 2000?作爲後備我可能會使用同義詞庫文件進行重要的查詢以獲得我們獨特的條款,但寧願讓SQL Server完成大部分工作。

作爲後續,如果任何人有鏈接到有關SQL Server 2000全文查詢的良好資源,我將不勝感激他們。 MSDN信息是有用的,但我會喜歡一些更深入的信息,一直沒有找到多少。

回答

1

我想你要找的是有點不同。你想搜索全部表格這個詞。它與stemming有一些關係,但在MS SQL Server Full-Text Search中,你會得到一些不同的結果。您需要明確指示服務器搜索所有形式的單詞,而不僅僅是單詞本身。

這裏是如何做到這一點:

SELECT <select list> 
FROM [YourTable] 
WHERE CONTAINS(*, 'FORMSOF (INFLECTIONAL, smartbar)') 

有關於這個問題在MSDN的article。根據其他資源,這個特性在SQL 2k中也是可用的(但我沒有一個實例可以驗證)。

+0

非常好,謝謝你。我會檢查一下,看看它是否有助於找到額外的表格。 – cori 2009-08-05 15:39:50