全文索引对单个单词不起作用?
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,如果是这种情况,它可以提供有关更改周围干扰词的信息。
您也可以简单地关闭噪音或 'stop' 个词:
https://dba.stackexchange.com/questions/135062/sql-server-no-search-results-caused-by-noise-words
我在 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,如果是这种情况,它可以提供有关更改周围干扰词的信息。
您也可以简单地关闭噪音或 'stop' 个词:
https://dba.stackexchange.com/questions/135062/sql-server-no-search-results-caused-by-noise-words