全文索引对单个单词不起作用?

时间:2018-07-12 12:50:21

标签: sql-server tsql full-text-search full-text-indexing

我在customer表的许多列上都有全文索引,其中一列是fname

以下查询:

select * from customer where fname like 'In%' and code='1409584557891'

向我返回所需的行,此客户的fname为'In'。但是,如果我将其添加到末尾:

and contains((customer.fname) , N'"In*"') 

重新调整一个空结果集。 为什么?

也:还有一个名为lname的列。如果我添加了等价的contains命令,并更改了该列的值,那么它会起作用!

1 个答案:

答案 0 :(得分:1)

“ In”很有可能是一个干扰词。我还相信,如果您对诸如字母“ a”之类的太短的内容进行全文搜索,则它只会被视为杂音。看看'a'或'I'给你什么。

在这种情况下,该链接可以提供有关更改周围噪声字的信息。

https://www.mssqltips.com/sqlservertip/1491/sql-server-full-text-search-noise-words-and-thesaurus-configurations/

您还可以简单地关闭噪音或“停止”字眼:

https://dba.stackexchange.com/questions/135062/sql-server-no-search-results-caused-by-noise-words