Administrar un índice en Búsqueda de Azure AI

Note

Búsqueda de Azure AI está disponible a través del portal de Azure, las API REST y los SDK de Azure. También respalda Foundry IQ, la capa de conocimiento administrada que transforma el contenido empresarial en bases de conocimiento reutilizables y compatibles con permisos para agentes en el portal de Microsoft Foundry.

Después de crear un índice, puede usar el portal Azure para acceder a sus estadísticas y definiciones o quitarlo del servicio de búsqueda.

Después de crear un índice, puede usar las API REST Búsqueda de Azure AI para acceder a sus estadísticas y definiciones o quitarla del servicio de búsqueda.

Después de crear un índice, Puede usar el SDK de Azure para .NET, Java, JavaScript o Python para acceder a sus estadísticas y definiciones o quitarla del servicio de búsqueda.

En este artículo se describe cómo administrar un índice sin afectar a su contenido. Para obtener instrucciones sobre cómo modificar una definición de índice, consulte Update o recompile un índice en Búsqueda de Azure AI.

Limitaciones

El plan de tarifa del servicio de búsqueda determina el número máximo y el tamaño de los índices, campos y documentos. Para obtener más información, consulte Service limits in Búsqueda de Azure AI.

De lo contrario, se aplican las siguientes limitaciones a la administración de índices:

  • No se puede poner un índice fuera de línea para el mantenimiento. Los índices siempre están disponibles para las operaciones de búsqueda.

  • No se puede copiar ni duplicar directamente un índice dentro o entre los servicios de búsqueda. Sin embargo, puede usar el ejemplo de copia de seguridad y restauración para .NET o Python para lograr una funcionalidad similar.

Ver todos los índices

Para ver todos los índices:

  1. Vaya al servicio de búsqueda en el portal Azure.

  2. En el panel izquierdo, seleccione Índices de administración de> búsqueda.

    Captura de pantalla de la página de índices en el portal.

    De forma predeterminada, los índices se ordenan por nombre en orden ascendente. Puede ordenar por Nombre, Recuento de documentos, Uso de cuota de índice de vectores o Tamaño total de almacenamiento seleccionando el encabezado de columna correspondiente.

Use Índices: lista (API REST) para recuperar todos los índices del servicio de búsqueda.

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

Use el SDK de Azure preferido para recuperar todos los índices del servicio de búsqueda.

El SDK de Azure para .NET proporciona GetIndexesAsync para esta tarea.

// 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);
}

Visualización de las estadísticas de un índice

En la página de índice, el portal proporciona las siguientes estadísticas:

  • Número de documentos del índice.
  • Espacio de almacenamiento utilizado por el índice.
  • Espacio de almacenamiento vectorial usado por el índice.
  • Espacio de almacenamiento máximo para cada índice del servicio de búsqueda, que depende del plan de tarifa. Este valor no representa el almacenamiento total disponible actualmente para el índice.

Captura de pantalla de las estadísticas de índice en el portal.

Usar índices: obtener estadísticas (API REST) para recuperar el recuento de documentos, el uso de almacenamiento y el uso de almacenamiento vectorial de un índice.

### 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]

Use el SDK de Azure preferido para recuperar el recuento de documentos, el uso de almacenamiento y el uso de almacenamiento vectorial de un índice.

El SDK de Azure para .NET proporciona GetIndexStatisticsAsync para esta tarea.

// 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");

Visualización de la definición de un índice

Cada índice se define mediante campos y componentes opcionales que mejoran las funcionalidades de búsqueda, como analizadores, normalizadores, tokenizadores y mapas de sinónimos. Esta definición determina la estructura y el comportamiento del índice durante la indexación y la consulta.

En la página de índice, seleccione Editar JSON para ver su definición completa.

Captura de pantalla del botón Editar JSON en el portal.

Use Indexes - Get (API REST) para recuperar la definición JSON de un índice.

### 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]

Use el SDK de Azure preferido para recuperar la definición JSON de un índice.

El SDK de Azure para .NET proporciona GetIndexAsync para esta tarea.

// 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);

Eliminación de un índice

Advertencia

No se puede deshacer una eliminación de índice. Antes de continuar, asegúrese de que desea quitar permanentemente el índice y sus documentos del servicio de búsqueda.

En la página de índice, seleccione Eliminar para iniciar el proceso de eliminación.

Captura de pantalla del botón Eliminar en el portal.

El portal le pide que confirme la eliminación. Después de seleccionar Eliminar, compruebe las notificaciones para confirmar que la eliminación se ha realizado correctamente.

Captura de pantalla de la confirmación de eliminación en el portal.

Usar índices: eliminar (API REST) para eliminar permanentemente un índice.

### 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]

Si el índice se ha eliminado correctamente, debería recibir una respuesta HTTP/1.1 204 No Content.

Use el SDK de Azure preferido para eliminar permanentemente un índice.

El SDK de Azure para .NET proporciona DeleteIndexAsync para esta tarea.

// 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.");