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

Full text index doesn't work at single word?

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

以下查询:

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

returns 我需要的线路,这个客户的 fname 是 'In' 。但是如果我把这个添加到最后:

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

返回一个空的结果集。 为什么?

此外:还有一个名为 lname 的列。如果我添加等效的 contains 命令并更改列及其值,它就可以工作!

很有可能 "In" 是一个干扰词。我还相信,如果您对诸如字母 'a' 之类的太短的内容进行全文搜索,它只会被视为干扰词。看看 'a' 或 'I' 是否给你任何东西。

这里有一个link,如果是这种情况,它可以提供有关更改周围干扰词的信息。

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

您也可以简单地关闭噪音或 'stop' 个词:

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