gpt4 book ai didi

sql-server - 解析减去停用词的搜索字符串

转载 作者:行者123 更新时间:2023-12-04 18:17:37 24 4
gpt4 key购买 nike

我的任务是在新应用程序上创建“google-esque”搜索机制,但我在存储过程方面遇到了一些障碍,该存储过程旨在在 SQL Server 数据库中运行实际搜索.

本质上,该过程是在从用户输入中获取的字符串中传递的,然后使用以下替换将其解析为 contains 语句。

SELECT @SearchString = '"'+ REPLACE(REPLACE(@SearchKeyword,'"',''), ' ', '" AND "') +'"'

除非 @SearchKeyword 变量包含停用词,否则这种方法效果很好,此时,将其作为链式 AND 语句的一部分包含在内会导致找不到结果的错误。

(例如,使用“Something Somewhere”搜索用户会返回正确的结果集,但 Something of Somewhere 由于未包含在全文索引目录中而不会返回任何内容)。

我知道我可以采取从轨道上删除所有条目的方法,从停止列表中删除所有条目,但理想情况下,我想简单地修改原始替换,以免链接到停止列表中包含的和语句单词。

不幸的是,这让我知识匮乏,我无法找到从哪里提取这些信息以便将其用于替换目的。

我是否走在正确的道路上,或者删除停止列表(虽然很困惑)是最好的解决方案?

最佳答案

找到了这个问题的答案,所以将其留在这里供引用。

您可以通过将文本传递到 sys.dm_fts_parser 来识别输入中的哪些单词是默认停用词

DECLARE @Keywords VARCHAR(200)
SET @Keywords = '"Web Designer"'

SELECT *
FROM sys.dm_fts_parser(@Keywords, 1033, 0, 0)
WHERE special_term <> 'Noise Word' AND display_term IS NOT NULL

关于sql-server - 解析减去停用词的搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362955/

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