修補了一個使用全文搜索的插件SQL Azure
,並且出現噪音字問題,特別是在使用CONTAINSTABLE
時。SQL Azure全文搜索和噪音詞
我們網站的真實世界搜索查詢記錄表明我需要以某種方式處理噪音詞。我想要做的是設置'變換噪音詞'as referenced here但sp_configure
似乎不被允許。
是否有另一種方法來啓用此功能,或者是我應該考慮處理這個問題的其他選項?
謝謝。
修補了一個使用全文搜索的插件SQL Azure
,並且出現噪音字問題,特別是在使用CONTAINSTABLE
時。SQL Azure全文搜索和噪音詞
我們網站的真實世界搜索查詢記錄表明我需要以某種方式處理噪音詞。我想要做的是設置'變換噪音詞'as referenced here但sp_configure
似乎不被允許。
是否有另一種方法來啓用此功能,或者是我應該考慮處理這個問題的其他選項?
謝謝。
更改Azure SQL數據庫中全文服務的配置選項在此處未提及(請參閱限制部分): http://azure.microsoft.com/blog/2015/04/30/full-text-search-is-now-available-for-preview-in-azure-sql-database/。 數據庫作用域配置選項與使用sp_configure的實例級別配置類似,但仍適用於Azure SQL數據庫。
那麼同時對於噪音詞的推薦解決方法是什麼? –
可能的解決方法是使用sys.dm_fts_parser來過濾掉搜索詞中的噪音詞。對於搜索項
The quick brown fox jumps over the lazy dog
然後用這個
SELECT STUFF(
(
SELECT ' ' + display_term FROM sys.dm_fts_parser (' "The quick brown fox jumps over the lazy dog" ', 1033, 0, 0)
WHERE special_term<>'Noise Word'
FOR XML PATH('')
), 1,1,'');
給你
quick brown fox jumps lazy dog
當然會更好。如果配置選項在Azure的支持...
你有沒有嘗試使用它創建新的stoplist和建立索引?你可以添加噪音詞 –
謝謝你。沒有解決問題,但它給了我一個解決方法。在複製系統停止列表後,我能夠提取一個清晰的英文單詞列表。我使用array_diff中的那些將它們從查詢中刪除,然後將它們提交給SQL。儘管如此,仍然需要一種正確使用默認列表的方式,因此它將輕鬆支持所有語言。 –