Navegar por los resultados de la lista de Búsqueda de Azure AI (versión preliminar)

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.

Importante

Las características, funcionalidades o propiedades marcadas (versión preliminar) no están cubiertas por un contrato de nivel de servicio, no se recomiendan para cargas de trabajo de producción y pueden cambiar o restringirse antes de que estén disponibles con carácter general. Los términos de la versión preliminar Búsqueda de Azure AI se aplican a todas las funciones de vista previa, ya sea independiente o parte de una característica disponible con carácter general.

A partir de la 2026-08-01-preview API REST, use la paginación por cursor (versión preliminar) para enumerar los recursos de servicio compatibles página por página. El servicio devuelve una dirección URL de continuación opaca cuando hay más resultados disponibles.

En este artículo se explica el contrato de cursor y se muestra cómo paginar los índices existentes.

Prerrequisitos

  • El paquete de versión preliminar Azure.Search.Documents más reciente: dotnet add package Azure.Search.Documents --prerelease

  • Para la autenticación sin claves, el Azure.Identity paquete: dotnet add package Azure.Identity

    Note

    La biblioteca cliente debe admitir la 2026-08-01-preview versión de la API REST del servicio de búsqueda. Las versiones anteriores no exponen los parámetros de cursor que se muestran en este artículo.

  • El paquete de versión preliminar azure-search-documents más reciente: pip install --pre azure-search-documents

  • Para la autenticación sin claves, el azure-identity paquete: pip install azure-identity

    Note

    La biblioteca cliente debe admitir la 2026-08-01-preview versión de la API REST del servicio de búsqueda. Las versiones anteriores no exponen los parámetros de cursor que se muestran en este artículo.

Seleccionar una operación de la lista

El 2026-08-01-preview contrato de cursor se aplica a las siguientes operaciones de lista:

Operation Ruta de acceso del recurso
Alias de la lista /aliases
Enumerar orígenes de datos /datasources
Indexadores de lista /indexers
Listar índices /indexes
Listar estadísticas del índice /indexstats
Enumerar bases de conocimiento /knowledgebases
Enumerar orígenes de conocimiento /knowledgesources
Enumerar archivos de origen de conocimiento /knowledgesources('{knowledge-source-name}')/files
Enumerar conjuntos de aptitudes /skillsets
Enumerar mapas de sinónimos /synonymmaps

Páginas de solicitud y seguimiento

En el ejemplo siguiente se enumeran los índices cuyos nombres comienzan por hotels y solicitan hasta 50 índices por página. Al iterar el resultado AsyncPageable<SearchIndex>, se solicita automáticamente cada página siguiente.

using System;
using Azure;
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
using Azure.Search.Documents.Models;

string endpoint = Environment.GetEnvironmentVariable(
    "AZURE_SEARCH_ENDPOINT")!;

var options = new SearchClientOptions(
    SearchClientOptions.ServiceVersion.V2026_08_01_Preview);
var client = new SearchIndexClient(
    new Uri(endpoint),
    new AzureCliCredential(),
    options);

AsyncPageable<SearchIndex> indexes = client.GetIndexesAsync(
    search: "hotels",
    pageSize: 50,
    searchType: ListingSearchType.Prefix);

await foreach (SearchIndex index in indexes)
{
    Console.WriteLine(index.Name);
}

Reference:SearchIndexClient.GetIndexesAsync

En el ejemplo siguiente se enumeran los índices cuyos nombres comienzan por hotels y solicitan hasta 50 índices por página. Al iterar el resultado ItemPaged, se solicita automáticamente cada página siguiente.

import os

from azure.identity import AzureCliCredential
from azure.search.documents.indexes import SearchIndexClient

endpoint = os.getenv("AZURE_SEARCH_ENDPOINT")

with SearchIndexClient(
    endpoint,
    AzureCliCredential(),
    api_version="2026-08-01-preview",
) as client:
    indexes = client.list_indexes(
        select=["name"],
        search="hotels",
        page_size=50,
        search_type="prefix",
    )
    for index in indexes:
        print(index.name)

Reference:SearchIndexClient.list_indexes

Envíe una solicitud inicial para enumerar los índices cuyos nombres comienzan por hotels. La solicitud devuelve hasta 50 nombres de índice:

GET https://<search-service-name>.search.windows.net/indexes?api-version=2026-08-01-preview&search=hotels&searchType=prefix&pageSize=50&$select=name
Authorization: Bearer <access-token>
Accept: application/json

Reference:List Indexes

Cuando existen más de 50 índices coincidentes, la respuesta incluye @odata.nextLink, que contiene la dirección URL de continuación completa y un token opaco. Se abrevia la siguiente respuesta:

{
  "value": [
    {
      "name": "<index-name>"
    }
  ],
  "@odata.nextLink": "https://<search-service-name>.search.windows.net/indexes?api-version=2026-08-01-preview&searchType=prefix&%24select=name&%24skiptoken=<opaque-token>"
}

Para solicitar la página siguiente, envía una solicitud GET al valor completo de @odata.nextLink exactamente tal y como se devuelve. Mantenga el mismo encabezado de autenticación:

GET <[email protected]>
Authorization: Bearer <access-token>
Accept: application/json

Reference:List Indexes

La respuesta del terminal contiene los nombres de índice finales y omite @odata.nextLink, lo que indica que no hay más páginas disponibles. El orden de los resultados no forma parte del contrato del cursor:

{
  "value": [
    {
      "name": "<next-index-name>"
    }
  ]
}

Controlar el comportamiento del cursor

  • Detecte la página final: Continúe paginando solo mientras la respuesta contiene @odata.nextLink. La página de terminal omite esta propiedad y las respuestas no incluyen @odata.count.

  • Mantener el estado de continuidad: Utilice el valor completo de @odata.nextLink exactamente como se ha devuelto. No construya, modifique, descodifique ni reutilice su $skiptoken. El token solo admite la paginación hacia delante.

  • Cambiar los parámetros de solicitud: Inicie una nueva solicitud inicial para cambiar la ruta de acceso del recurso, la versión de api, el prefijo de búsqueda, las propiedades seleccionadas o el tamaño de página. Combinar $skiptoken con search o pageSize devuelve HTTP 400.

  • Tenga en cuenta los cambios en la colección: La paginación hacia delante solo es estable mientras la colección no cambie. Agregar, actualizar o eliminar recursos durante la enumeración puede generar resultados duplicados o omitidos.