gpt4 book ai didi

Azure 搜索 - 正则表达式搜索

转载 作者:行者123 更新时间:2023-12-03 00:59:49 25 4
gpt4 key购买 nike

我正在尝试配置 Azure 搜索来查找一些具有特殊字符的字符串,例如ABC*DEF

当我使用 "ABC*DEF" 查找完整术语时,它工作得很好。

如果我想使用正则表达式术语,就会出现问题:

  • 当我使用部分术语时,例如 /(.*)ABC(.*)/,结果没有问题
  • 当我使用部分术语时,例如 /(.*)DEF(.*)/,结果没有问题
  • 但是当我尝试查找类似 /(.*)C\*D(.*)/ 的内容时,结果为空。

我正在使用标准分析仪。我还尝试了关键字分析器,但这样正则表达式搜索根本不起作用。

有什么建议吗?

最佳答案

您将无法使用标准分析器创建与 ABC*DEF 匹配的正则表达式。

如果您通过analyzer api运行“ABC\*DEF”使用“标准”分析器,您将看到 ABC*DEF 在索引时被分为 2 个标记 -> "ABC""DEF"。不分析正则表达式,但是,它们需要匹配索引中存在的标记。

由于索引中不存在ABC\*DEF(仅存在“ABC”和“DEF”),因此您将无法使用正在搜索的表达式找到它。

使用“关键字”分析器会将整个字段保留为单个标记,因此如果该字段“仅”包含表达式 ABC\*DEF,则正则表达式将对其起作用,但是,如果 ABC\*DEF 是较大文本段落的一部分,那么这可能不是您想要使用的内容。

你最好的选择是创建一个 custom analyzer以保留与您的用例相关的特殊字符的方式标记您的文本。

关于Azure 搜索 - 正则表达式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62478595/

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