我在customer
表的许多列上都有全文索引,其中一列是fname
。
以下查询:
select * from customer where fname like 'In%' and code='1409584557891'
向我返回所需的行,此客户的fname为'In'。但是,如果我将其添加到末尾:
and contains((customer.fname) , N'"In*"')
重新调整一个空结果集。 为什么?
也:还有一个名为lname的列。如果我添加了等价的contains
命令,并更改了该列的值,那么它会起作用!
答案 0 :(得分:1)
“ In”很有可能是一个干扰词。我还相信,如果您对诸如字母“ a”之类的太短的内容进行全文搜索,则它只会被视为杂音。看看'a'或'I'给你什么。
在这种情况下,该链接可以提供有关更改周围噪声字的信息。
您还可以简单地关闭噪音或“停止”字眼:
https://dba.stackexchange.com/questions/135062/sql-server-no-search-results-caused-by-noise-words