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

Azure Search索引与索引器文档数量不匹配问题咨询

为什么Azure Search索引和索引器的文档数不匹配?

这种情况我之前排查过好几次,大概率是以下几个原因导致的,你可以逐一核对:

  • 索引中存在索引器未处理的文档:比如你可能通过Azure Search的REST API、SDK或者其他工具,手动往crconnector索引里添加/导入过文档——这部分内容不会被crindexer的处理计数统计进去,自然会让索引总文档数(22)大于索引器成功处理的数量(16)。

  • 索引器未配置删除检测策略:如果你的数据源(比如SQL数据库、Blob存储)里曾经有超过16个文档,后来部分文档被删除了,但索引器没有设置删除检测策略,那索引里的旧文档不会被自动移除。哪怕你重置并重新运行索引器,它只会同步当前数据源里的16个文档,而之前的旧文档依然留在索引里,导致总数变多。

  • 索引器重置后的水印残留:有时候重置索引器后,可能因为缓存或水印没有完全清除,导致索引器还是按照增量同步的逻辑运行,没有真正执行全量扫描。你可以查看索引器的运行历史,确认本次运行是否标记为“全量爬取”。

  • 文档键规则不一致导致重复创建:如果索引器使用的键字段规则,和你手动操作索引时用的规则不一样,可能会导致同一数据源文档被重复创建成索引里的新文档。不过这种情况一般会触发索引器警告,你可以检查运行日志确认。

排查小建议

  1. 先查看crconnector索引的文档详情,对比数据源里的16个文档,看看多出来的6个文档是什么内容、创建时间——如果是手动添加的,那就是第一个原因;
  2. 检查索引器的配置,确认是否开启了删除检测策略(比如针对SQL的软删除列、Blob的删除标记);
  3. 查看索引器的完整运行日志,确认有没有跳过、警告或失败的记录,有时候成功计数只统计完全处理的文档,部分跳过的可能没显示在16/16里;
  4. 如果确定是旧文档残留,可以手动删除索引里多余的文档,或者重新创建索引后再运行索引器。

内容的提问来源于stack exchange,提问作者G. Werner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:49:51