当前位置: 首页 > news >正文

在 Azure AI Search 里,英文检索有时会卡在一个很小的词形差异上:文档里是 brief,搜索 briefs 却搜不到。

搜索 briefs,无法命中只包含 brief 的文档。类似地,audit 和 auditing 也可能因为一个复数形式导致结果不同。

文档明明在,关键词也只差一个 s 或 ing,为什么结果完全不一样?

关键不在原文,而在 Azure AI Search 最终拿什么 token 去匹配。

通俗来讲,是根据字符串文本匹配还是基于语义进行匹配!

问题解答

Azure AI Search 做全文检索时,比较的不是原始字符串,而是 analyzer 处理后的 token。

briefbriefs能不能互相命中,关键看字段使用默认 analyzer(standard.lucene),还是使用en.microsoft这类语言 analyzer。

1: standard.lucene 不处理英文词形

standard.lucene 是默认 analyzer。它主要做分词和小写化,不做英文词干还原,也不做词形还原。

输入token
briefbrief
briefsbriefs
auditingauditing

所以 briefs 搜不到 brief,不是数据缺失,也不是服务异常,而是两边生成的 token 本来就不一样。\

2: en.microsoft 按语言规则做词形还原

en.microsoft 使用 lemmatization。它不是简单截断词尾,而是尽量把变化形式还原成语言学上的基本形式。

例如:

briefs → brief
auditing → audit

它通常更适合重视英文检索质量的场景,尤其是需要处理单复数、时态、不规则变化时。

代价是索引速度通常会慢一些,但普通查询性能一般不会明显受影响

3: 如何选择

Analyzer主要行为适合场景
standard.lucene分词、小写,不做词形归一通用字段、需要保留原始词形差异
en.microsoftLemmatization,按语言规则还原词形重视英文搜索质量,希望处理单复数和时态

如果英文内容需要处理单复数、时态或不规则变化,优先验证 en.microsoft。如果业务明确需要保留词形差异,继续使用默认 standard.lucene 更合适。

4:修改 analyzer

analyzer是字段定义的一部分。已有字段不能直接就地修改 analyzer。如果要从standard.lucene换成en.microsoft,通常需要重建索引,或者新增一个使用新 analyzer 的并行字段,再通过searchFields切过去验证。

如下图所示(无法修改Analyzer)

添加新的索引字段并设置Analyzer步骤

1:添加新的查询字段

步骤如下:

  • 选中索引,进入Fields Tab页,点击添加字段。

  • 输入新的字段名, 如: content_ext

  • 勾选 Retrievable 和 Searchable

  • 选择Analyzer为 English - Microsoft (* 重要)

  • 保存修改

2:把查询字段和文档的内容进行关联

步骤如下:

  • 进入对应的索引器,点击 Edit JSON案例

  • 在fieldMappings中,添加content / content_ext 的mapping关系后保存

添加内容:

{ "sourceFieldName": "content", "targetFieldName": "content_ext", "mappingFunction": null },

参考截图如下:

3:修改查询文档属性后,执行索引器,为新字段填充内容

运行索引器,把文档的content内容填充到index的content_ext字段中。

http://www.jsqmd.com/news/1092106/

相关文章:

  • 深度把玩劳力士3235机芯的老哥,先放大50倍看看这组表盘序列号的防伪公差
  • XCOM 2模组管理革命:AML启动器终极指南 - 告别混乱,拥抱秩序
  • Defender Control:Windows Defender终极管理工具完全指南
  • LRC歌词下载终极指南:5分钟搞定数千首离线音乐库歌词同步
  • 用Python调用百度热搜榜API:从零实现实时热搜数据抓取与可视化
  • 吾爱大神出品,流得一批!
  • 终极STL转STEP指南:如何5分钟内实现3D模型格式的无缝转换
  • SUMO仿真控制新维度:Python与TraCI接口实战指南
  • macOS下Claude Code安装配置保姆级教程:从Node.js到API直连,新手10分钟跑通
  • 「简记往来」开发历程系列:微信小程序的版本更新策略
  • 通达信比强的副图指标
  • PasteMD安全审计实战:从XSS到IDOR的深度漏洞挖掘与修复
  • 【本地AI实战:用Ollama+OpenWebUI干完一整天工作,效率提升3倍全程记录】
  • 毕业必备!2026AI论文网站榜单(覆盖 99% 毕业论文需求)
  • JMeter性能测试环境配置全攻略:从基础安装到高级调优
  • 区分两个python一个 Anaconda 一个普通安装
  • 春考:把握升学新通道,走出更适合自己的成长路径
  • TPIC7710EVM评估板深度解析:从硬件设计到实战调试全指南
  • 安徽html+css 5页
  • AI Agent 的四大组成部分详解
  • 基于Web的实验室智能排课系统的设计与实现
  • 芝麻粒TK版:让蚂蚁森林能量管理变得轻松简单的智能助手
  • DLSS Swapper完整指南:三分钟学会智能游戏性能优化
  • 原来重庆这些正规会议音响公司这么好,究竟哪家更值得选?
  • 芯片烧录座口碑厂家推荐,选这3家不踩坑
  • Windows DPI终极调整指南:告别模糊界面,一键搞定显示缩放
  • ComfyUI ControlNet Aux插件完全指南:从零开始掌握AI绘画预处理技术
  • 操作系统核心:从进程线程到调度算法,这一篇就够了
  • 华为设备认证模式详解:从基础密码到AAA安全框架
  • 我打开新看板,发现它不再让我看数据了