近匹配不CONTAINSTABLE发现(Near matches not found in CONT

2019-09-21 07:18发布

我使用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]

结果

没有找到记录

我期待一个记录。 任何想法?

Answer 1:

“这”很可能是一个干扰词(如“的”,“和”等),所以它不会被包含在索引中。 尝试搜索的文本中的真正的单词之一。

- 编辑 -

好吧,这不是它...

我想你的代码和它的工作如预期的我 - 查询返回一个记录。 唯一的区别是,我定义[ID]作为主键(你必须要做的事,或者你无法创建索引)。 我打赌不会填充索引 - SSMS中,右键单击表,选择“全文索引” - >“启动完全填充”。



文章来源: Near matches not found in CONTAINSTABLE