我有如下SQL脚本来查询我的 ContactInfoes
桌子
SELECT *
FROM ContactInfoes
WHERE CONTAINS(Name, 'The')
我只得到空的结果集。我的表中有一个名称为 "公司 "的条目。
为什么我没有得到任何数据,如何解决这个问题。任何帮助是感激的。
我使用的是SQL Server 2019
你在没有指定STOPLIST的情况下创建了FULLTEXT索引。因此,使用了默认的STOPLIST。默认情况下,单词'the'是停止词,从您的文本中删除。如果您想用'the'这个词搜索,您应该创建一个空的STOPLIST,然后在您的FULLTEXT INDEX中指定这个STOPLIST。
SELECT *
FROM sys.fulltext_system_stopwords
WHERE language_id = 1033 -- English
然后你就可以创建一个空的STOPLIST,然后把它设置到你的FULLTEXT INDEX中。
CREATE FULLTEXT STOPLIST MyEmptyStopList;
GO
然后把它设置到你的FULLTEXT INDEX中。
CREATE FULLTEXT INDEX ON table_name ... STOPLIST = MyEmptyStopList;
对我来说,简单的解决方案是使用下面的脚本来关闭停止列表。
ALTER FULLTEXT INDEX ON [tablename] Set StopList = OFF
我已经配置了一个索引,它使用默认的停止列表。我在这里关闭了stoplist