鉴于此代码,我没有收到任何结果:
SELECT TOP 10 * FROM MyTable WHERE CONTAINS(TextColumn, '"W"')
我检查过的事情:
编辑:我正在寻找与索引相关的停止列表,而不是停止词。
答案 0 :(得分:6)
答案是确保您有一个与索引关联的空停止列表。仅仅没有停止列表是不够的,因为它只使用默认停止列表。
CREATE FULLTEXT STOPLIST [EmptyStopList] ;
GO
ALTER FULLTEXT INDEX ON MyTable SET STOPLIST [EmptyStopList]
答案 1 :(得分:3)
Full text Search
是执行Language Specific Search
的功能。
搜索可以忽略数据中的文字字符串,并搜索特定于某种语言的语言中的特定单词(特定单词的折衷形式,同义词等)。
在您的查询中,您正在寻找字母“W"
,这不是一个英文单词,它是一个字母表,但它并不代表任何东西。它更像是一个字符串中的图案用于此目的您应该使用LIKE
关键字以及通配符%
,这将带回字符串值James W Brown
。
另一方面,如果您想使用FTS在数据库中找到所有可能的James
,那么FTS可以很方便。通过在James上进行THESAURUS搜索,可以恢复Jim,Jimmy,Jimmie等,但是你必须再次编辑FDData下的XML文件以获得特定语言才能实现。