分享AI实践与思考
入门
上手
教程
基础
概念解释
Microsoft Foundry
开发工具
操作指南
参考
治理与网络
工具与知识
概念解释
操作指南
Agent Service
总览
概念解释
Azure OpenAI
API 与开发
总览
Azure AI Search
权限与安全
参考
检索概念
概念解释
快速上手
教程
Foundry Tools
其他与已退役
总览
概念解释
RAG 与知识工程
智能体与工具
MCP 与 Skills
操作指南
基础
评测、观测与安全
安全
评测
概念解释
参考
企业架构与成本
解决方案场景
样例与学习资源
附录
索引字段设计
适用于:为新的检索场景设计索引 schema,决定每个字段能否被全文搜索、过滤、排序、做分面,以及能否返回给调用方。
前提
- 已列出文档模型与查询需求(全文、过滤、排序、分面、结果展示)。
- 已接受一个约束:字段定义在索引创建后基本锁定。新增字段通常可行,但修改已有字段一般需要重建索引(页面写明)。
- 建议用代码定义 schema,便于反复重建(页面建议开发阶段采用代码方式)。
步骤
步骤 | 操作 | 要点 |
1 | 列出查询需求 | 每个字段对应一个用途:检索、过滤、排序、分面或仅内部使用 |
2 | 选择字段类型 | 文本用 Edm.String;多值用 Collection(Edm.String);数字、时间、地理位置用对应类型;向量用 Collection(Edm.Single) |
3 | 显式设置属性 | 页面建议不依赖 API 或 SDK 默认值,尤其对敏感字段 |
4 | 指定 key 字段 | 恰好一个,类型为 Edm.String,且必须可返回 |
5 | 为向量字段设置维度与向量配置 | 维度须与嵌入模型一致;每个字段只能使用一个向量配置(页面写明) |
6 | 用代码重建验证 | 通过脚本创建、导入、删除索引,减少手工改动 |
字段属性参数表
属性 | 含义 | 注意(页面写明) |
searchable | 参与全文或向量搜索 | 只有字符串类型可设为可搜索;文本会经过分词 |
filterable | 可用于 $filter | 字符串过滤为精确匹配,不分词 |
sortable | 可用于排序 | Collection(Edm.String) 不能排序 |
facetable | 可用于分面计数 | 地理位置类型不能分面 |
key | 文档唯一标识 | 只能一个,必须是 Edm.String |
retrievable | 能否在结果中返回 | 设为 false 时不能通过 $select 取回;但内部排序、过滤等仍可能受影响 |
设计示例(示意,非官方配置)
字段 | 类型 | 属性 | 理由 |
id | Edm.String | key,retrievable | 文档唯一标识 |
title | Edm.String | searchable,retrievable | 展示与全文匹配 |
body | Edm.String | searchable | 正文仅用于检索,不一定需要过滤 |
category | Edm.String | filterable,facetable | 结果页分类筛选 |
published_at | Edm.DateTimeOffset | filterable,sortable | 按时间过滤与排序 |
group_ids | Collection(Edm.String) | filterable,retrievable 为 false | 安全过滤字段,见“安全过滤”一页 |
验证
- 用搜索资源管理器或 REST 请求执行:一次过滤查询、一次排序查询、一次分面查询,确认结果符合预期。
- 在“搜索管理 > 索引”页面查看索引大小;页面提醒 filterable、sortable、facetable 会增加存储占用。
排错表
现象 | 可能原因 | 处理 |
字段无法用于 $filter | 未设置 filterable | 修改后需重建索引(字段定义锁定) |
排序报错 | 字段不可排序,或为集合类型 | 改用可排序的标量字段 |
索引体积明显偏大 | 对不需要的字段开启了过滤、排序或分面 | 只保留查询真正用到的属性 |
字符串字段长度报错 | 同时可过滤、排序或分面的字符串最长 32 KB(页面写明) | 把长文本放入仅可搜索、可返回的字段 |
隐藏字段仍被影响结果 | retrievable 为 false 不等于字段级安全 | 敏感数据应在设计阶段就排除,或用访问控制手段(见相关页面) |
限制与待核实
- 页面给出的 32 KB 上限、索引大小估算方法为抓取日期时的说明,具体数值以当前官方参考为准:待核实(2026-11-05 获取)。
- 本页未核对向量字段的维度上限与各层级的字段数上限:待核实。
来源与核对
- 来源:
- https://learn.microsoft.com/en-us/azure/search/search-what-is-an-index
- https://learn.microsoft.com/en-us/azure/search/search-security-trimming-for-azure-search(字段示例)
- read_scope:正文已读(索引概览与安全过滤页面,2026-11-05 抓取)。
- 待核实:字段数与向量维度上限、字段长度上限的当前值。
上一篇
安全过滤(Security filter)
下一篇
分块策略
Loading...