Seitenweise durch Azure KI-Suche-Suchergebnisse navigieren (Vorschau)

Note

Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.

Important

Features, Funktionen oder Eigenschaften, die als (Vorschau) gekennzeichnet sind, werden von keiner Dienstebenenvereinbarung (SLA) abgedeckt, werden für Produktionsworkloads nicht empfohlen und können geändert oder eingeschränkt werden, bevor sie allgemein verfügbar sind. Die Azure KI-Suche Vorschaubedingungen gelten für alle Vorschaufunktionen, unabhängig davon, ob sie eigenständig oder Teil eines allgemein verfügbaren Features ist.

Verwenden Sie ab der 2026-08-01-preview REST-API die Cursor paginierung (Vorschau), um unterstützte Dienstressourcen jeweils jeweils auf einer Seite auflisten. Der Dienst gibt eine undurchsichtige Fortsetzungs-URL zurück, wenn weitere Ergebnisse verfügbar sind.

Dieser Artikel erläutert den Cursorvertrag und zeigt, wie durch vorhandene Indizes geblättert wird.

Voraussetzungen

  • Das neueste Azure.Search.Documents Vorschaupaket: dotnet add package Azure.Search.Documents --prerelease

  • Für die schlüssellose Authentifizierung das Paket Azure.Identity: dotnet add package Azure.Identity

    Note

    Die Clientbibliothek muss die 2026-08-01-preview Version der REST-API des Suchdiensts unterstützen. In früheren Versionen werden die in diesem Artikel gezeigten Cursorparameter nicht verfügbar gemacht.

  • Das neueste azure-search-documents Vorschaupaket: pip install --pre azure-search-documents

  • Für die schlüssellose Authentifizierung das Paket azure-identity: pip install azure-identity

    Note

    Die Clientbibliothek muss die 2026-08-01-preview Version der REST-API des Suchdiensts unterstützen. In früheren Versionen werden die in diesem Artikel gezeigten Cursorparameter nicht verfügbar gemacht.

Auswählen eines Listenvorgangs

Der 2026-08-01-preview Cursorvertrag gilt für die folgenden Listenvorgänge:

Operation Ressourcenpfad
Aliasse auflisten /aliases
Datenquellen auflisten /datasources
Indexer auflisten /indexers
Indizes auflisten /indexes
Indexstatistik auflisten /indexstats
Wissensdatenbanken auflisten /knowledgebases
Wissensquellen auflisten /knowledgesources
Wissensquelldateien auflisten /knowledgesources('{knowledge-source-name}')/files
Skillsets auflisten /skillsets
Synonymzuordnungen auflisten /synonymmaps

Seiten anfragen und ihnen folgen

Im folgenden Beispiel werden Indizes aufgelistet, deren Namen mit hotels beginnen, und es werden bis zu 50 Indizes pro Seite angefordert. Beim Durchlaufen des AsyncPageable<SearchIndex>-Ergebnisses wird jede nachfolgende Seite automatisch angefordert.

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

Im folgenden Beispiel werden Indizes aufgelistet, deren Namen mit hotels beginnen, und es werden bis zu 50 Indizes pro Seite angefordert. Beim Durchlaufen des ItemPaged-Ergebnisses wird jede nachfolgende Seite automatisch angefordert.

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

Senden Sie eine erste Anfrage, um Indizes aufzulisten, deren Namen mit hotels beginnen. Die Anforderung gibt bis zu 50 Indexnamen zurück:

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

Wenn mehr als 50 übereinstimmende Indizes vorhanden sind, enthält die Antwort @odata.nextLink, das die vollständige Fortsetzungs-URL und ein opakes Token enthält. Die folgende Antwort wird abgekürzt:

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

Um die nächste Seite anzufordern, senden Sie eine GET-Anfrage an den vollständigen Wert @odata.nextLink, genau wie er zurückgegeben wurde. Behalten Sie denselben Authentifizierungs-Header bei:

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

Reference:List Indexes

Die Terminalantwort enthält die endgültigen Indexnamen und lässt @odata.nextLinkaus, was angibt, dass keine weiteren Seiten verfügbar sind. Die Ergebnisreihenfolge ist nicht Teil des Cursorvertrags:

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

Cursorverhalten steuern

  • Die letzte Seite erkennen: Fahren Sie mit der Seitenabfrage nur fort, solange die Antwort @odata.nextLink enthält. Auf der Terminalseite wird diese Eigenschaft weggelassen, und Antworten enthalten @odata.countnicht.

  • Fortsetzungszustand beibehalten: Verwenden Sie das vollständige @odata.nextLink genau in der Form, in der es zurückgegeben wurde. Konstruieren, ändern, decodieren oder wiederverwenden Sie dessen $skiptoken nicht. Das Token unterstützt nur Vorwärtsblättern.

  • Änderung von Anforderungsparametern: Starten Sie eine neue anfängliche Anforderung, um den Ressourcenpfad, die API-Version, das Suchpräfix, die ausgewählten Eigenschaften oder die Seitengröße zu ändern. Die Kombination von $skiptoken mit search oder pageSize gibt HTTP 400 zurück.

  • Änderungen an der Sammlung berücksichtigen: Die Vorwärtspaginierung ist nur dann stabil, wenn die Sammlung unverändert bleibt. Das Hinzufügen, Aktualisieren oder Löschen von Ressourcen während der Enumeration kann doppelte oder ausgelassene Ergebnisse erzeugen.