我很难找到一个好的解决方案:
假设有一张名为“公司”的表,其中有一个名为“名称”的列,我在这一列上建立了一个全文索引。如果用户搜索“非常好的公司”,我的查询语句将是:
SELECT
*
FROM
Company
WHERE
CONTAINS(Name, '"Very" AND "Good" AND "Company"')
问题在于这个例子中,“Very”这个词出现在常见停用词列表中:
SELECT
ssw.*
FROM
sys.fulltext_system_stopwords ssw
WHERE
ssw.language_id = 1033;
查询结果没有返回任何行,即使有一个名称为“很好的公司”的行。
我的问题是,我应该如何关闭查询中的停用词?或者我应该如何完全删除它们?
还是说我应该以另一种方式进行搜索?
SYSTEM
来使用内置的停用词列表:ALTER FULLTEXT INDEX ON MyTable SET STOPLIST = SYSTEM
- Rhumborl