SQL freetext()无法处理某些列

时间:2014-09-16 09:49:42

标签: sql-server sql-server-2008 full-text-indexing

我有一个包含7列的表,我在表上创建了一个全文索引。但是我注意到使用freetext()的搜索不会返回2列上的任何行 它返回其他列的行。

这是我的查询

select * from dbo.ModelCategoryValues
where freetext(economyvalues,'24,29')
and freetext(featurevalues,'10')
and freetext(pricerangevalues,'15')
and freetext(performancevalues,'18,20')
and freetext(economyvalues,'22,24')
and freetext(usevalues,'28')

这会返回预期结果

但是,当我运行以下时,不会返回任何行

select * from dbo.ModelCategoryValues
where freetext(cartypevalues,'1')

我可以看到与上述数据相对应的行。我已经尝试了从重新填充索引到重新创建它的所有内容,但没有成功。

1 个答案:

答案 0 :(得分:0)

默认情况下,

FREETEXT 会排除包含“ STOPLIST ”值的记录。 要解决此问题,请使用以下查询将StopList设置为“OFF”: -

ALTER FULLTEXT INDEX ON DealerSearch SET STOPLIST = OFF