修补了一个使用全文搜索的插件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。尽管如此,仍然需要一种正确使用默认列表的方式,因此它将轻松支持所有语言。 –