【发布时间】:2020-05-20 06:38:14
【问题描述】:
我为 SQL Server 安装了全文搜索,创建了目录和索引。我确信数据库中有正确的记录,但 FTS 函数不返回任何结果。
例如:
select * from tablename where contains(title, 'baycan');
select * from tablename where contains(title, '"*baycan*"')
这是目录和索引图片:
【问题讨论】:
-
如果没有结果,说明
title列中没有包含'baycan'字样的行。 -
但是我可以通过 LIKE 获取记录。所以不是这样
-
LIKE和CONTAINS不是等效的运算符,所以仅仅因为LIKE返回某些东西并不意味着CONTAINS会。例如,值为'abaycant'的列 (title) 将为WHERE title LIKE '%baycan%'返回 true,但CONTAINS(title,'baycan')不会。 -
a 以及 FTS 中此查询的等效项 --- select * from tablename where title like '%baycan%';
-
没有。
CONTAINS不支持前导通配符。
标签: sql-server full-text-search