gpt4 book ai didi

sql-server-2008 - SQL 2008 : Turn off Stop Words for Full Text Search Query

转载 作者:行者123 更新时间:2023-12-03 10:20:42 27 4
gpt4 key购买 nike

我在为此找到一个好的解决方案时遇到了很多困难:

假设我有一个“公司”表,其中有一列名为“名称”。我有这个专栏的全文目录。如果用户搜索“非常好的公司”,我的查询将是:

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;

导致查询返回没有行,即使有一行名为“非常好的公司”。

我的问题是,我将如何关闭查询的停用词?或者我将如何完全删除它们?

或者我应该以另一种方式进行此搜索吗?

最佳答案

万一其他人偶然发现这个问题:

看起来在 2008 年有一个选项可以做到这一点;这对我来说并不明显,因为数据库是从 2005 年升级的,我不相信这是一个选项。

您需要做的第一件事是将兼容性级别设置为 2008:

ALTER DATABASE [MyDatabase] SET COMPATIBILITY_LEVEL = 100

然后,在通过向导创建全文索引时,有一个步骤可以让您忽略索引的停用词

编辑:这也是执行此操作的脚本:
ALTER FULLTEXT INDEX ON MyTable SET STOPLIST = OFF

关于sql-server-2008 - SQL 2008 : Turn off Stop Words for Full Text Search Query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8435602/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com