如何使用SQL全文搜索索引小单词(3个字母)?

时间:2010-06-11 21:21:00

标签: sql-server full-text-search

我有一个Incident表,其中一行在'out of office'列中的值为Description

但是,以下查询不会返回该行。

SELECT * FROM Incident
WHERE CONTAINS( (Incident.Description), '"out*"' )

“out”这个词不在噪音文件中(我完全清除了噪音文件并重建了索引)。

是不是因为SQL全文搜索没有索引小词?那有什么设置吗?是否有一个命令可以运行以确切地查看已使用哪个噪声文件来构建索引?

注意:我正在使用SQL 2005。

2 个答案:

答案 0 :(得分:1)

当您处理噪声文件时,在您为实例重新启动propper SQL Server FullText Search服务之前,不会考虑这些文件。

我已经测试了你的场景,并且它可以正常运行......


  1. 将噪音文件中的值设为“out”
  2. 在其中插入值为'%out%'的记录
  3. 执行您的select语句并查看它们未被返回
  4. 修改word文件并删除“out”条目
  5. 重新启动了我的实例的SQL Server FullText Search服务
  6. 使用“ALTER FULLTEXT CATALOG [NameOfMyCatalog] REBUILD”重建全文目录
  7. 稍等一下(有机会全文服务来完成这项工作)
  8. 执行您的select语句并查看它们现在已返回

  9. 希望这会有所帮助......

答案 1 :(得分:0)

如果您还没有,请在清除噪音文件后尝试重建索引,如this answer中提到的链接到helpful blog post的那样。