我发现使用FullText索引的查询存在一个奇怪的问题。
以下查询
#1 SELECT * FROM tbparticipant where contains([FullTextQuery],'ALINE AND NASCIMENTO')
返回
ALINE DO NASCIMENTO
ALINE QUEIROZ DO NASCIMENTO
ALINE NASCIMENTO DE SOUZA
ALINE CORREIA DO NASCIMENTO
但是这个查询
#2 SELECT * FROM tbparticipant where contains([FullTextQuery],'ALINE AND DO')
什么都不返回。
我认为“DO”太短会出现问题,但这个问题
#3 SELECT * FROM tbparticipant where contains([FullTextQuery],'ALINE AND DE')
返回
ALINE NASCIMENTO DE SOUZA
那么,查询#2有什么问题?
答案 0 :(得分:1)
“Do”在禁用词列表中 - 停用词是被认为是普通词或短词的词,对全文查询具有任何重要意义。您可以列出您的英语停用词:
select * from sys.fulltext_system_stopwords where language_id = 1033