在CONTAINSTABLE中找不到近似匹配项

时间:2012-08-16 19:40:03

标签: sql-server sql-server-2008 sql-server-2005 full-text-search containstable

我正在使用 SQL Server 2008

DDL

CREATE TABLE [dbo].[t](
    [words] [varchar](1000) NULL,
    [id] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY]

DML

insert into t(words)values('this is my laptop')
insert into t(words)values('this does not contains headphone')

SQL查询

SELECT *
FROM 
t as t
JOIN CONTAINSTABLE(t, words,'"headphone*"', 10) fulltextSearch
ON
t.Id = fulltextSearch.[KEY]

结果

未找到记录

我期待一个记录。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

'this'很可能是一个干扰词(如'the','和'等),因此它不会包含在索引中。尝试搜索文本中的一个真实单词。

- 编辑 -

好的,那不是......

我尝试了你的代码,它按预期工作 - 查询返回了一条记录。唯一的区别是我将[id]定义为主键(您必须完成它,或者您无法创建索引)。我打赌你的索引没有填充 - 在SSMS中,右键单击表格,选择'全文索引' - > '开始全面人口'。