Scorrere i risultati di elenco di Azure AI Search (anteprima)

Note

Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.

Importante

Le funzionalità, le funzionalità o le proprietà contrassegnate (anteprima) non sono coperte da un contratto di servizio, non sono consigliate per i carichi di lavoro di produzione e potrebbero cambiare o essere vincolate prima che diventino disponibili a livello generale. Le condizioni di anteprima Azure AI Search si applicano a tutte le funzionalità di anteprima, indipendente o parte di una funzionalità disponibile a livello generale.

A partire da 2026-08-01-preview REST API, utilizzare la paginazione tramite cursore (anteprima) per elencare le risorse del servizio supportate una pagina alla volta. Il servizio restituisce un URL di continuazione opaco quando sono disponibili altri risultati.

Questo articolo illustra il contratto di cursore e illustra come scorrere gli indici esistenti.

Prerequisiti

  • Pacchetto di anteprima Azure.Search.Documents più recente: dotnet add package Azure.Search.Documents --prerelease

  • Per l'autenticazione senza chiave, il Azure.Identity pacchetto: dotnet add package Azure.Identity

    Note

    La libreria client deve supportare la 2026-08-01-preview versione dell'API REST del servizio di ricerca. Le versioni precedenti non espongono i parametri del cursore illustrati in questo articolo.

  • Pacchetto di anteprima azure-search-documents più recente: pip install --pre azure-search-documents

  • Per l'autenticazione senza chiave, il azure-identity pacchetto: pip install azure-identity

    Note

    La libreria client deve supportare la 2026-08-01-preview versione dell'API REST del servizio di ricerca. Le versioni precedenti non espongono i parametri del cursore illustrati in questo articolo.

Scegli un'operazione sull'elenco

Il 2026-08-01-preview contratto di cursore si applica alle operazioni di elenco seguenti:

Operation Percorso della risorsa
Elencare gli alias /aliases
Elencare le origini dati /datasources
Elencare gli indicizzatori /indexers
Elencare gli indici /indexes
Elencare le statistiche degli indici /indexstats
Elenco delle basi di conoscenza /knowledgebases
Elencare le origini delle conoscenze /knowledgesources
Elencare i file dell'origine delle informazioni /knowledgesources('{knowledge-source-name}')/files
Elencare i set di competenze /skillsets
Elencare le mappe sinonimi /synonymmaps

Richiedere e seguire le pagine

Nell'esempio seguente vengono elencati gli indici i cui nomi iniziano con hotels e vengono richieste fino a 50 indici per pagina. L'iterazione del AsyncPageable<SearchIndex> risultato richiede automaticamente ogni pagina successiva.

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

Nell'esempio seguente vengono elencati gli indici i cui nomi iniziano con hotels e vengono richieste fino a 50 indici per pagina. L'iterazione del ItemPaged risultato richiede automaticamente ogni pagina successiva.

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)

Riferimento:SearchIndexClient.list_indexes

Inviare una richiesta iniziale agli indici di elenco i cui nomi iniziano con hotels. La richiesta restituisce fino a 50 nomi di indice:

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

Quando esistono più di 50 indici corrispondenti, la risposta include @odata.nextLink, che contiene l'URL di continuazione completo e un token opaco. La risposta seguente è abbreviata:

{
  "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>"
}

Per richiedere la pagina successiva, inviare una richiesta GET al valore completo @odata.nextLink esattamente come restituito. Mantieni la stessa intestazione di autenticazione:

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

Reference:List Indexes

La risposta del terminale contiene i nomi di indice finali e omette @odata.nextLink, a indicare che non sono disponibili altre pagine. L'ordine dei risultati non fa parte del contratto cursore:

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

Gestire il comportamento del cursore

  • Identificare la pagina finale: Continuare la paginazione finché la risposta contiene @odata.nextLink. La pagina del terminale omette questa proprietà e le risposte non includono @odata.count.

  • Preserva lo stato di continuazione: Usa il @odata.nextLink completo esattamente come viene restituito. Non costruire, modificare, decodificare o riutilizzare il relativo $skiptoken. Il token supporta solo la paginazione in avanti.

  • Modificare i parametri della richiesta: Avviare una nuova richiesta iniziale per modificare il percorso della risorsa, la versione dell'API, il prefisso di ricerca, le proprietà selezionate o le dimensioni della pagina. Combinazione $skiptoken con search o pageSize restituisce HTTP 400.

  • Tieni conto delle modifiche alla collezione: Il paging in avanti è stabile solo se la collezione rimane invariata. L'aggiunta, l'aggiornamento o l'eliminazione di risorse durante l'enumerazione possono produrre risultati duplicati o omessi.