Containstable 查询在搜索带有“n”的值时起作用

Containstable query acting up when searching for values with ' n '

我对全文索引相当陌生,我的查询按预期工作,直到我使用包含“n”的短语进行搜索。

示例:

       SELECT C.name FROM dbo.Clients AS C 
       INNER JOIN  
       CONTAINSTABLE (dbo.Clients, name, '"Brick n Clay*"') AS K  
       ON C.ID = K.[KEY]

这个查询 returns 什么都没有,但是对同一个 table 相同短语的 LIKE 语句。

“n”字符对全文搜索有什么意义吗?有解决方法吗?

事实证明“N”的重要性在于它(连同许多其他值)存在于 FullTextIndex STOPLIST 中,旨在防止搜索无意义的常用值。

一个选项是为您的table禁用STOPLIST:

ALTER FULLTEXT INDEX ON MyDB.dbo.MyTable SET STOPLIST = OFF