我们使用全文搜索来检查邮政编码和地址,我们发现NNx
(其中x是数字)被视为噪音词。除了检查搜索字是否包含NN
然后使用LIKE
之外,我们知道这个问题,但无法想出一个干净的解决方案。
我们正在使用此代码。
SELECT DISTINCT
*
FROM CONTAINSTABLE(dbo.AddressData, Data, N'NN1', 1000) C
INNER JOIN dbo.AddressData AD ON AD.Id = C.[KEY]
INNER JOIN dbo.Address A ON A.Id = AD.AddressId
有没有人对如何逃避或阻止全文将NN视为干扰词有任何想法?
更新: 我们添加了一个if来检查输入字符串中的NN,如果NN在那里,我们只使用Like,但这对性能有很大影响。从不到一秒钟到超过5秒:/任何人有更好的解决方案?
答案 0 :(得分:0)
您正在使用SQL服务器吗?
在SQL Server 2005中,干扰词已被停用词取代。 您可以编辑“停止列表”,以使NNx不再是停用词。