gpt4 book ai didi

sql-server - 全文搜索 : Noise words are being searched for

转载 作者:行者123 更新时间:2023-12-01 05:46:16 26 4
gpt4 key购买 nike

我在 SQL Server 2008 中有一个带有全文搜索索引的数据库。我在停止列表中定义了停用词“al”。但是,当我使用关键字“al”搜索任何词组时,“al”一词仍会出现在排名中。

这可能与我正在分解搜索词并重建它们的事实有关。然后我在多个字段中搜索并对结果进行排名:http://pastebin.com/fdce11ff .此功能用于分解搜索

'al hamra' 

进入
("*al*" ~ "*hamra*") OR ("*al*" OR "*hamra*") 

用于全文搜索。

想象一下这个场景:

姓名:
Al Hamra,作者:Jack Brown,类型:小说
Al Karawan,作者:Al Hanz,类型:浪漫

现在搜索 'al hamra' 将返回 'Al Karawan',尽管 'al' 在停止列表中。为什么是这样?我认为停止列表会导致单词失去权重?

最佳答案

干扰词特定于代码页;你把它加到正确的了吗?您可以使用 sys.dm_fts_parser测试它(在下面)这也可能比您在代码中(或不)手动分词更好。

SELECT special_term, display_term
FROM sys.dm_fts_parser
(' "al hamra" ', 1033, 0, 0)

假设您使用的是代码页 1033。如果您的干扰词在您期望的代码页中,那么它应该在列表中作为干扰词可见。

关于sql-server - 全文搜索 : Noise words are being searched for,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1875237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com