![]() |
1
5
噪声词在存储索引前被去除。因此,不可能编写一个搜索停止词的查询。如果确实要启用此行为,则需要编辑停止词列表。( http://msdn.microsoft.com/en-us/library/ms142551.aspx )然后重新构建索引。 |
![]() |
2
1
我也有同样的问题,经过彻底的调查,我得出结论,没有什么好的解决办法。 作为一个折衷方案,我正在实施蛮力解决方案: 1)打开c:\program files\microsoft sql server\mssql.1\mssql\ftdata\noisenu.txt并复制其中的所有文本。 2)粘贴到应用程序中的代码文件中,将换行符替换为“,”以获取这样的列表初始值设定项:
3)在提交搜索字符串之前,将其分解为单词,并删除噪音单词中的任何单词,如下所示:
不是一个理想的解决方案,但只要噪声词文件不变,就应该工作。多语言支持将使用按语言列出的列表字典。 |
![]() |
3
1
这是一个工作功能。文件
|
![]() |
4
1
您还可以在进行查询之前删除干扰词。 语言ID列表: http://msdn.microsoft.com/en-us/library/ms190303.aspx dim querytextwithout noise as string=removenoisewords(querytext,connectionstring,1033) 公共函数removenoisewords(byval input ext as string, ByVal CNSTR作为字符串, byval languageid为整数)为字符串
|
![]() |
5
0
类似于我的方法。 虽然我希望使用全文索引来执行词干、速度和多单词搜索等功能,但实际上我只是在两个表中索引几个nvarchar(100)字段。每个表的行数都很容易保持在50000行以下。 我的解决方案是从文本文件中删除所有干扰词,并允许索引器编译包含所有词的索引。它仍然只有几千个条目。 然后,我对搜索字符串中的空格进行替换,如我最初的文章中所描述的那样,获取contains以处理多个单词,并分别对单词进行词干处理。 似乎工作得很好,但我会密切关注表现。 |
![]() |
ybou · 需要帮助从SQL 2005查询中删除过时的=*连接运算符 8 年前 |
![]() |
Robert · 将多个分隔符分隔的字段视为不同的行 8 年前 |
![]() |
hud · 执行存储过程会导致错误 9 年前 |
![]() |
Gonzalo · 如何将存储过程的结果插入到新表中? 9 年前 |