You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AI Search:过滤器中如何结合模糊搜索实现多词匹配及拼写纠错?

解决Azure AI Search多词模糊必匹配问题

要实现所有查询词(含拼写错误)必须同时匹配的需求,你需要调整search.ismatch的用法——不要在正则表达式里加模糊符~,而是将模糊查询直接作为search.ismatch的查询字符串参数,利用Azure AI Search原生的模糊搜索语法,结合and逻辑实现多词必现。

正确的查询示例

{
    "search": "*",
    "filter": "search.ismatch('dot~', 'name', 'full', 'all') and search.ismatch('urethine~', 'name', 'full', 'all')"
}

关键说明

  • 放弃正则表达式(/.*...*/):正则不支持Azure的模糊搜索符~,所以之前在正则里加~的写法无效。
  • search.ismatch参数解析:
    1. 第一个参数是查询语句,直接用词~表示模糊搜索(~默认允许最多2个字符的编辑距离,可通过~N指定,比如dot~1);
    2. 第二个参数指定要搜索的字段(这里是name);
    3. 第三个参数'full'表示使用完整的Lucene查询语法;
    4. 第四个参数'all'表示必须匹配查询语句中的所有条件(这里就是单个模糊词的匹配)。
  • 主search字段设为*:因为我们的匹配逻辑完全由filter控制,主搜索无需额外内容,用*表示匹配所有文档,再由过滤器筛选符合条件的结果。

效果验证

当你输入urethine~时,Azure AI Search会自动匹配拼写相近的词(比如正确的urethane),同时and逻辑确保name字段同时包含dot(或其模糊匹配词)和urethane(或其模糊匹配词)的文档才会被返回。

内容的提问来源于stack exchange,提问作者ban_ana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 18:57:08