你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure AI 搜索中管理索引

创建索引后,可以使用 Azure 门户访问其统计信息和定义,或将其从搜索服务中删除。

本文介绍如何在不影响索引内容的情况下管理索引。 有关修改索引定义的指南,请参阅 Azure AI 搜索中的更新或重新生成索引

局限性

搜索服务的定价层确定索引、字段和文档的最大数量和大小。 有关详细信息,请参阅 Azure AI 搜索中的服务限制

否则,以下限制适用于索引管理:

  • 无法使索引脱机进行维护。 索引始终可用于搜索操作。

  • 无法在搜索服务内或跨搜索服务直接复制或重复索引。 但是,可以使用 .NETPython 的备份和还原示例来实现类似的功能。

查看所有索引

查看所有索引:

  1. 登录到 Azure 门户 并选择搜索服务。

  2. 在左窗格中,选择 “搜索管理>索引”。

    门户中索引页的屏幕截图。

    默认情况下,索引按名称按升序排序。 可以通过选择相应的列标题,按 名称文档计数矢量索引配额使用情况总存储大小 进行排序。

查看索引的统计信息

在索引页上,门户提供以下统计信息:

  • 索引中的文档数。
  • 索引使用的存储空间。
  • 索引使用的矢量存储空间。
  • 搜索服务上每个索引的最大存储空间,具体取决于 定价层。 此值不表示索引当前可用的总存储。

门户中索引统计信息的屏幕截图。

查看索引的定义

每个索引由增强搜索功能的字段和可选组件定义,例如分析器、规范化器、标记化器和同义词映射。 此定义确定索引在索引编制和查询期间的结构和行为。

在索引页上,选择 “编辑 JSON” 以查看其完整定义。

门户中“编辑 JSON”按钮的屏幕截图。

删除索引

警告

无法撤销已删除的索引。 在继续之前,请确保要从搜索服务中永久删除索引及其文档。

在索引页上,选择 “删除 ”以启动删除过程。

门户中“删除”按钮的屏幕截图。

门户会提示你确认删除。 选择 “删除”后,请检查通知以确认删除成功。

门户中删除确认的屏幕截图。

创建索引后,可以使用 Azure AI 搜索 REST API 访问其统计信息和定义,或将其从搜索服务中删除。

本文介绍如何在不影响索引内容的情况下管理索引。 有关修改索引定义的指南,请参阅 Azure AI 搜索中的更新或重新生成索引

局限性

搜索服务的定价层确定索引、字段和文档的最大数量和大小。 有关详细信息,请参阅 Azure AI 搜索中的服务限制

否则,以下限制适用于索引管理:

  • 无法使索引脱机进行维护。 索引始终可用于搜索操作。

  • 无法在搜索服务内或跨搜索服务直接复制或重复索引。 但是,可以使用 .NETPython 的备份和还原示例来实现类似的功能。

查看所有索引

使用 索引 - 列表(REST API) 检索搜索服务上的所有索引。

### List all indexes
GET https://[service name].search.windows.net/indexes?api-version=[api version]
    Content-Type: application/json
    api-key: [admin key]

查看索引的统计信息

使用 索引 - 获取统计信息(REST API) 检索索引的文档计数、存储使用情况和矢量存储使用情况。

### Get index statistics
GET https://[service name].search.windows.net/indexes/[index name]/stats?api-version=[api version]
    Content-Type: application/json
    api-key: [admin key]

查看索引的定义

每个索引由增强搜索功能的字段和可选组件定义,例如分析器、规范化器、标记化器和同义词映射。 此定义确定索引在索引编制和查询期间的结构和行为。

使用 索引 - 获取(REST API) 检索索引的 JSON 定义。

### Get index definition
GET https://[service name].search.windows.net/indexes/[index name]?api-version=[api version]
    Content-Type: application/json
    api-key: [admin key]

删除索引

警告

无法撤销已删除的索引。 在继续之前,请确保要从搜索服务中永久删除索引及其文档。

使用 索引 - 删除(REST API) 永久删除索引。

### Delete an index
DELETE https://[service name].search.windows.net/indexes/[index name]?api-version=[api version]
    Content-Type: application/json
    api-key: [admin key]

如果已成功删除索引,应会收到 HTTP/1.1 204 No Content 响应。

创建索引后,可以使用用于 .NETJava、JavaScriptPython 的 Azure SDK 访问其统计信息和定义,或将其从搜索服务中删除。

本文介绍如何在不影响索引内容的情况下管理索引。 有关修改索引定义的指南,请参阅 Azure AI 搜索中的更新或重新生成索引

局限性

搜索服务的定价层确定索引、字段和文档的最大数量和大小。 有关详细信息,请参阅 Azure AI 搜索中的服务限制

否则,以下限制适用于索引管理:

  • 无法将索引下线进行维护。 索引始终可用于搜索操作。

  • 无法在搜索服务内或跨搜索服务直接复制或重复索引。 但是,可以使用 .NETPython 的备份和还原示例来实现类似的功能。

查看所有索引

使用首选的 Azure SDK 检索搜索服务上的所有索引。

用于 .NET 的 Azure SDK 为此任务提供 GetIndexesAsync

// Create a SearchIndexClient
var endpoint = new Uri("[service endpoint]");
var credential = new AzureKeyCredential("[admin key]");
var indexClient = new SearchIndexClient(endpoint, credential);

// List all indexes
await foreach (var index in indexClient.GetIndexesAsync())
{
    Console.WriteLine(index.Name);
}

查看索引的统计信息

使用首选的 Azure SDK 检索索引的文档计数、存储使用情况和矢量存储使用情况。

用于 .NET 的 Azure SDK 为此任务提供 GetIndexStatisticsAsync

// Create a SearchIndexClient
var endpoint = new Uri("[service endpoint]");
var credential = new AzureKeyCredential("[admin key]");
var indexClient = new SearchIndexClient(endpoint, credential);

// Get index statistics
var statsResponse = await indexClient.GetIndexStatisticsAsync("[index name]");
var stats = statsResponse.Value;
Console.WriteLine($"Number of documents: {stats.DocumentCount:N0}");
Console.WriteLine($"Storage consumed by index: {stats.StorageSize:N0} bytes");
Console.WriteLine($"Storage consumed by vectors: {stats.VectorIndexSize:N0} bytes");

查看索引的定义

每个索引由增强搜索功能的字段和可选组件定义,例如分析器、规范化器、标记化器和同义词映射。 此定义确定索引在索引编制和查询期间的结构和行为。

使用首选的 Azure SDK 检索索引的 JSON 定义。

用于 .NET 的 Azure SDK 为此任务提供 GetIndexAsync

// Create a SearchIndexClient
var endpoint = new Uri("[service endpoint]");
var credential = new AzureKeyCredential("[admin key]");
var indexClient = new SearchIndexClient(endpoint, credential);

// Get index definition
var index = await indexClient.GetIndexAsync("[index name]");
string indexJson = JsonSerializer.Serialize(index.Value, new JsonSerializerOptions { WriteIndented = true });
Console.WriteLine(indexJson);

删除索引

警告

无法撤销已删除的索引。 在继续之前,请确保要从搜索服务中永久删除索引及其文档。

使用首选的 Azure SDK 永久删除索引。

用于 .NET 的 Azure SDK 为此任务提供 DeleteIndexAsync

// Create a SearchIndexClient
var endpoint = new Uri("[service endpoint]");
var credential = new AzureKeyCredential("[admin key]");
var indexClient = new SearchIndexClient(endpoint, credential);

// Delete the index
await indexClient.DeleteIndexAsync("[index name]");
Console.WriteLine("Index deleted successfully.");