我有一個產品表,其中描述列是全文索引。如何忽略SQL Server 2005中特定列的noiseXXX.txt文件?
問題是,用戶經常搜索單個單詞,這恰好在noiseXXX.txt文件中。
我們想要保持噪音字功能啓用,但無論如何關閉它只是爲了這一列?
我認爲你可以在2008 with the SET STOPLIST=OFF中做到這一點,但我似乎無法在SQL Server 2005中找到類似的功能。
我有一個產品表,其中描述列是全文索引。如何忽略SQL Server 2005中特定列的noiseXXX.txt文件?
問題是,用戶經常搜索單個單詞,這恰好在noiseXXX.txt文件中。
我們想要保持噪音字功能啓用,但無論如何關閉它只是爲了這一列?
我認爲你可以在2008 with the SET STOPLIST=OFF中做到這一點,但我似乎無法在SQL Server 2005中找到類似的功能。
在SQL Server 2005中,干擾詞列表應用於整個服務器。您可以通過刪除適當的噪音詞文件,然後重新構建全文索引來禁用整個服務器的噪音詞。但我不相信在SQL Server 2005中有可能有選擇地禁用單個表的噪音字。參見例如here,here和here。
在SQL Server 2008中,FTS從使用干擾詞文件移動到停止列表。停止列表是包含不包含在全文索引中的停用詞集合的容器,並替換了噪音詞文件的功能。
在SQL Server 2008(僅限兼容級別100)中,您可以爲給定語言創建多個停止列表,並且可以爲各個表指定停止列表。也就是說,一個表可以使用給定的清單,第二個表可以使用不同的清單,第三個清單可以根本不使用清單。 Stoplist設置適用於整個表格,因此如果您在單個表格中索引了多個列,則它們都必須使用相同的列表。
所以要回答你的問題,我不相信在SQL Server 2005中有可能有選擇地禁用單個表的噪音字,而將其留在其他表上。如果這對你來說是一個破壞行爲的話,這可能是將你的服務器升級到SQL Server 2008或2012的好機會。