在 Azure AI 搜索中创建索引别名

重要

索引别名目前根据补充使用条款以公共预览版提供。

Azure AI 搜索中的索引别名是索引的备用名称。 可以使用别名而不是应用程序中的索引名称,从而最大程度地减少对生产代码的未来更新。 如果需要切换到较新的索引,可以更新别名映射。

在使用别名之前,应用程序会将请求直接发送到 hotel-samples-index

POST /indexes/hotel-samples-index/docs/search?api-version=2025-05-01-preview
{
    "search": "pool spa +airport",
    "select": "HotelId, HotelName, Category, Description",
    "count": true
}

使用别名后,应用程序会向my-alias发送请求,而my-alias映射到。

POST /indexes/my-alias/docs/search?api-version=2025-05-01-preview
{
    "search": "pool spa +airport",
    "select": "HotelId, HotelName, Category, Description",
    "count": true
}

支持的方案

只能将别名用于文档操作,或用于获取和更新索引定义。

别名不能用于删除索引,或用于测试文本标记化,也不能被作为targetIndexName引用在索引器上。

创建索引别名

可以使用预览版 REST API、预览版 SDK 或通过 Azure 门户创建别名。 别名包含别名的 name,以及别名映射到的搜索索引的名称。 在 indexes 数组中只能指定一个索引名称。

可以使用创建或更新别名(REST 预览)创建索引别名。

POST /aliases?api-version=2025-05-01-preview
{
    "name": "my-alias",
    "indexes": ["hotel-samples-index"]
}

将请求发送到索引别名

别名可用于所有文档操作,包括查询、编制索引、建议和自动完成。

此查询将请求发送到my-alias,该请求映射到搜索服务的实际索引上。

POST /indexes/my-alias/docs/search?api-version=2025-05-01-preview
{
    "search": "pool spa +airport",
    "searchMode": any,
    "queryType": "simple",
    "select": "HotelId, HotelName, Category, Description",
    "count": true
}

更新别名

别名更新必须使用 PUT,如 创建或更新别名(REST 预览版)中所述。

PUT /aliases/my-alias?api-version=2025-05-01-preview
{
    "name": "my-alias",
    "indexes": ["hotel-samples-index2"]
}

对别名进行的更新可能需要 10 秒才能在系统中传播,因此在删除别名之前映射到的索引之前,应等待至少 10 秒钟。

另请参阅