查找有关 Azure AI 搜索的常见问题解答。
常规
什么是 Azure AI 搜索?
Azure AI 搜索为代理、全文和矢量搜索方案提供可搜索内容的专用搜索引擎和持久存储。 它还包括可选的集成 AI,用于从原始内容中提取文本和结构,以及为矢量搜索分块和向量化内容。
如何使用 Azure AI 搜索?
主要工作流是创建、加载和查询索引。 虽然可以使用 Azure 门户完成大多数任务,但是 Azure AI 搜索旨在以编程方式使用,处理来自客户端代码的请求。 通过适用于 Azure 的 .NET、Python、Java 和 JavaScript SDK 中的 REST API 和客户端库提供编程支持。
“Azure 搜索”、“Azure 认知搜索”和“Azure AI 搜索”是否是同一产品?
是的。 它们都是同一产品,品牌在2019年10月重新命名,并在2023年10月再次重新命名。 有时,你可能会在编程级别看到前名称的证据。
支持哪些语言?
对于矢量,使用的嵌入模型决定了语言体验。
对于非函数字符串和数字,用于标记化的默认分析器是标准 Lucene,这是与语言无关的。 另外,语言支持通过语言分析器将语言规则应用于入站(索引)和出站(查询)内容来表示。 某些功能(如拼写器和查询改写)仅限于一部分语言。
如何将搜索集成到解决方案中?
客户端代码应调用 Azure SDK 客户端库或 REST API 来连接到搜索索引、创建查询并处理响应。 还可以编写代码来生成和刷新索引,或者以编程方式或通过脚本运行索引器。
是否可以暂停服务并停止计费?
不能暂停搜索服务。 在 Azure AI 搜索中,计算资源是在创建服务时分配的。 无法按需释放和回收这些资源。
是否可以重命名或移动服务?
服务名称和区域在服务的生存期内是固定的。
如果将搜索服务迁移到另一个订阅或资源组,是否会出现停机?
只要遵循移动资源前需查看的清单,并确保每个步骤都已完成,就不会出现停机。
索引
Azure AI 搜索中的“索引”是什么意思?
它是指引入、分析和存储填充搜索索引的文本内容和令牌。 编制索引会创建倒排索引以及支持信息检索的其他物理数据结构。
如果架构包括矢量字段,它会创建矢量索引。
是否可以移动、备份和还原索引?
索引移植不提供原生支持。 搜索索引被视为下游数据结构,接受来自收集操作数据的其他数据源的内容。 因此,系统本身不支持备份和还原索引。 预期是在索引被删除或需要迁移时,您应该从源数据中重新生成索引。
删除索引或服务后,是否可以还原索引或服务?
否。 如果删除 Azure AI 搜索索引或服务,则无法恢复它。 删除搜索服务时,会永久删除服务中的所有索引。
是否可以从 SQL 数据库副本中编制索引?
如果使用 Azure SQL 数据库的搜索索引器,那么在从头开始生成索引时,对使用主副本或辅助副本作为数据源没有任何限制。 然而,使用增量更新(基于已更改的记录)刷新索引时需要主要副本。 此需求来自于 SQL 数据库,它仅确保主要副本上的更改跟踪。 如果尝试为索引刷新工作负荷使用次要副本,则无法保证获得所有数据。
矢量化
什么是矢量搜索?
矢量搜索是一种通过比较其矢量表示形式来查找最相似的文档的技术。 由于矢量表示形式的目标是以数字格式捕获项的基本特征,因此矢量查询可以识别类似的内容,即使没有基于关键字或标记的显式匹配项。
当用户执行搜索时,查询汇总为矢量表示形式,矢量搜索引擎标识最相似的文档。 为了提高大型数据库的效率,矢量搜索通常为查询向量提供近似近邻(ANN)。 有关详细信息,请参阅 Azure AI 搜索中的矢量搜索。
Azure AI 搜索是否支持矢量搜索?
Azure AI 搜索支持矢量索引和检索。 如果使用 集成矢量化,则可以对查询字符串和内容进行分块和向量化,这依赖于索引器和技能集。
Azure AI 搜索中矢量搜索的工作原理
借助独立矢量搜索,首先使用嵌入模型将内容转换为嵌入空间中的矢量表示形式。 然后,可以在文档有效负载中向搜索索引提供这些矢量以编制索引。 若要提供搜索请求,请使用同一个嵌入模型将搜索查询转换为矢量表示形式,矢量搜索会查找最相似的矢量并返回相应的文档。
在 Azure AI 搜索中,可以将矢量数据编制索引为文档中的字段,以及文本和其他类型的内容。 矢量字段有多个数据类型。
矢量查询可以单独发出,也可以与其他查询类型(包括同一个搜索请求中的词条查询和筛选器)结合发出。
Azure AI 搜索能否矢量化内容或查询?
内置集成矢量化现已正式发布。
我的搜索服务是否支持矢量搜索?
大多数现有服务都支持矢量搜索。 如果使用支持矢量搜索和索引创建的包或 API 失败,则基础搜索服务不支持矢量搜索,并且必须创建一个新服务。 对于在 2019 年 1 月 1 日之前创建的一小部分服务,可能会发生这种情况。
是否可以向现有索引添加矢量搜索?
如果搜索服务支持矢量搜索,则现有索引和新索引都可以容纳矢量字段。
为什么在新搜索服务和现有搜索服务之间看到不同的矢量索引大小限制?
Azure AI 搜索已在全球范围内为新的搜索服务推出了改进的矢量索引大小限制,但某些区域存在容量限制,某些区域没有所需的基础结构。 在受支持区域 2024 年 5 月之后创建的新搜索服务应会看到矢量索引大小限制增加。
为什么矢量索引显示零存储?
仅使用分层导航小型世界(HNSW)算法的矢量索引在 Azure 门户中报告其索引大小。 如果索引使用穷举 KNN,即使索引包含矢量,矢量索引大小也会报告为零。
如何在搜索索引上启用矢量搜索?
若要在索引中启用矢量搜索,请执行:
向字段集合中添加一个或多个矢量字段。
将“vectorSearch”部分添加到索引架构,指定矢量搜索字段所使用的配置,包括所使用的 ANN 算法的参数,如 HNSW。
使用最新的稳定版本 2025-09-01 或 Azure SDK 创建或更新索引、加载文档和发出查询。 有关详细信息,请参阅创建矢量索引。
查询
查询执行在哪里进行?
查询在搜索服务上托管的单个搜索索引上执行。 不能联接多个索引以在两个或多个索引中搜索内容,但可以在多个搜索服务中查询同名索引。
为什么确定有效的术语没有匹配项?
最常见的情况是不了解每种查询类型支持不同的搜索行为和语言分析级别。 全文搜索是主要工作负荷,包含一个语言分析过程,用于将术语分解为词根形式。 查询分析的这种特性拓宽了可能的匹配范围,因为标记化的术语能够匹配更多变体。
但是,通配符、模糊和正则表达式查询不会像常规术语或短语查询一样进行分析,如果查询与搜索索引中单词的分析形式不匹配,可能会导致召回率不佳。 有关查询分析和分析的详细信息,请参阅 Azure AI 搜索中的全文搜索。
为何我的通配符搜索速度较慢?
大多数通配符搜索查询(如前缀、模糊和正则表达式)在内部使用搜索索引中的匹配词进行重写。 这种额外的处理会增加延迟。 此外,可能会用许多字词重写广泛的搜索查询 a* ,这可能会很慢。 对于高性能通配符搜索,请考虑定义自定义分析器。
能否跨多个索引进行搜索?
否。 查询始终限定为单个索引。
为什么每个匹配项的搜索分数都为恒定的 1.0?
根据 匹配词的统计属性 为全文搜索查询生成搜索分数,结果集中的排序顺序从高到低。 不是全文搜索(通配符、前缀、正则表达式)的查询类型不会按相关性分数进行排名。 常量分数允许通过查询扩展找到的匹配项包含在结果中,而不会影响排名。
例如,假设在通配符搜索中输入“tour*”,会产生匹配结果“tours”、“tourettes”和“tourmaline”。 由于这些结果的性质,我们无法合理推断出哪些字词的相关性高于其他字词。 因此,在为通配符、前缀和正则表达式类型的查询结果评分时,会忽略字词频率。 建立在不完整输入上的搜索结果获得一个常数分数,以避免可能的意外匹配偏差。
安全性
Azure AI 搜索在哪里存储客户数据?
它将数据存储在部署服务的地理位置(异地)。 Azure 可能会复制同一地理位置中的数据以实现高可用性和持久性。 有关详细信息,请参阅 Azure 中的数据驻留。
Azure AI 搜索是否会将客户数据发送到其他服务以进行处理?
是的。 技能与向量器 从 Azure AI 搜索 向为嵌入或聊天指定的其他 Azure 资源或外部模型发出出站调用。 对这些 API 的调用通常包含要处理的原始内容或由嵌入模型向量化的查询。 对于 Azure 到 Azure 连接,该服务通过内部网络发送请求。 如果添加自定义技能或矢量化器,索引器会通过公共网络将内容发送到自定义技能中提供的 URI,除非你配置共享专用链接。
Azure AI 搜索是否处理其他区域中的客户数据?
处理(矢量化或已应用的 AI 转换)在 Geo 中执行,托管技能使用的 Foundry Tools 子服务、托管自定义技能的 Azure 应用或函数,或托管已部署模型的 Azure OpenAI 或 Azure Foundry 区域。 这些资源由你指定,因此可以选择是否将其部署在搜索服务所在的同一地理位置。
如果将数据发送到外部(非 Azure)模型或服务,则处理位置由外部服务确定。
是否可以根据用户标识控制对搜索结果的访问?
如果实现将文档与用户标识关联的解决方案,则可以。 通常,有权运行应用程序的用户也有权查看所有搜索结果。 Azure AI 搜索没有对行级或文档级权限的内置支持,但可以将实现安全筛选器作为一种解决方法。 有关步骤和脚本,请参阅入门:使用自己的数据聊天(Python 示例)。
是否可以根据用户标识控制对操作的访问?
是的。 可以将基于角色的授权应用于内容的数据平面操作。
如果我的搜索服务位于 IP 防火墙或专用终结点后面,是否可以使用 Azure 门户查看和管理搜索内容?
如果创建了一个可通过客户端和门户访问网络的例外,则可在受网络保护的搜索服务上使用 Azure 门户。 有关详细信息,请参阅 通过 IP 防火墙进行连接 或 通过专用终结点进行连接。