【发布时间】:2014-07-22 11:09:06
【问题描述】:
我正在使用 SQL Server 2012,但我遇到了 FTS 搜索问题。
有一个表[Table],我为它创建了一个fts索引
CREATE FULLTEXT INDEX ON [TABLE](Column1 LANGUAGE 1033, Column2 LANGUAGE 1033, Column3 LANGUAGE 1033, Description LANGUAGE 1033, Column4 LANGUAGE 1033)
KEY INDEX KEY_PK
ON FTSCATALOG
WITH CHANGE_TRACKING = AUTO,
STOPLIST = MyStopList
但是当我尝试通过停用词查找行时,我得到 0 行。看来它根本不使用停止列表
select OBJECT_ID('TABLE'),* from sys.fulltext_indexes;
告诉索引正在工作
114099447 114099447 1 5 1 A AUTO 1 U UPDATE_CRAWL 2014-06-02 17:04:01.050 2014-06-02 17:04:02.073 0x000000000001FFF2 5 NULL 1
SELECT * FROM sys.dm_fts_parser ('and', 1033, 5, 0)
表明“and”是一个停用词
keyword group_id phrase_id occurrence special_term display_term expansion_type source_term
0x0061006E0064 1 0 1 Noise Word and 0 and
但是
SELECT * FROM dbo.[TABLE] WHERE CONTAINS (*, 'and', LANGUAGE 1033)
返回 0 行。
有人知道为什么会这样吗?
【问题讨论】:
标签: sql sql-server full-text-search stop-words