Wyniki listy stron za pośrednictwem Wyszukiwanie AI platformy Azure (wersja zapoznawcza)

Note

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.

Ważna

Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.

Korzystając z interfejsu API REST 2026-08-01-preview, użyj paginacji opartej na kursorze (wersja zapoznawcza), aby wyliczać obsługiwane zasoby usługi strona po stronie. Usługa zwraca nieprzezroczysty adres URL kontynuacji, gdy dostępne są kolejne wyniki.

W tym artykule wyjaśniono kontrakt kursora i pokazano, jak stronicować istniejące indeksy.

Wymagania wstępne

  • Najnowszy pakiet Azure.Search.Documents wersji zapoznawczej: dotnet add package Azure.Search.Documents --prerelease

  • W przypadku uwierzytelniania bezkluczowego pakiet Azure.Identity: dotnet add package Azure.Identity

    Note

    Biblioteka klienta musi obsługiwać 2026-08-01-preview wersję interfejsu API REST usługi wyszukiwania. Wcześniejsze wersje nie uwidaczniają parametrów kursora pokazanych w tym artykule.

  • Najnowszy pakiet azure-search-documents wersji zapoznawczej: pip install --pre azure-search-documents

  • W przypadku uwierzytelniania bezkluczowego pakiet azure-identity: pip install azure-identity

    Note

    Biblioteka klienta musi obsługiwać 2026-08-01-preview wersję interfejsu API REST usługi wyszukiwania. Wcześniejsze wersje nie uwidaczniają parametrów kursora pokazanych w tym artykule.

Wybierz operację listy

Kontrakt kursora 2026-08-01-preview ma zastosowanie do następujących operacji listy:

Operation Ścieżka zasobu
Lista aliasów /aliases
Wyświetlanie listy źródeł danych /datasources
Indeksatory listy /indexers
Indeksy listy /indexes
Statystyka indeksu listy /indexstats
Lista baz wiedzy /knowledgebases
Lista źródeł wiedzy /knowledgesources
Lista plików źródeł wiedzy /knowledgesources('{knowledge-source-name}')/files
Wyświetl zestawy umiejętności /skillsets
Wyświetl mapy synonimów /synonymmaps

Żądanie i obserwowanie stron

W poniższym przykładzie wymieniono indeksy, których nazwy zaczynają się od hotels i żądają maksymalnie 50 indeksów na stronę. Iterowanie po AsyncPageable<SearchIndex> wyniku powoduje automatyczne żądanie każdej następnej strony.

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

W poniższym przykładzie wymieniono indeksy, których nazwy zaczynają się od hotels i żądają maksymalnie 50 indeksów na stronę. Iterowanie po ItemPaged wyniku powoduje automatyczne żądanie każdej następnej strony.

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)

Dokumentacja:SearchIndexClient.list_indexes

Wyślij początkowe żądanie o wyświetlenie listy indeksów, których nazwy zaczynają się od hotels. Żądanie zwraca maksymalnie 50 nazw indeksów:

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

Dokumentacja:Indeksy list

Gdy istnieje więcej niż 50 pasujących indeksów, odpowiedź zawiera @odata.nextLink, który zawiera pełny adres URL kontynuacji oraz nieprzezroczysty token. Następująca odpowiedź jest skrócona:

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

Aby zażądać następnej strony, wyślij żądanie GET do pełnej wartości @odata.nextLink, dokładnie w postaci, w jakiej została zwrócona. Zachowaj ten sam nagłówek uwierzytelniania:

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

Dokumentacja:Indeksy list

Odpowiedź terminala zawiera ostateczne nazwy indeksów i pomija @odata.nextLink, co oznacza, że nie ma już więcej stron. Kolejność wyników nie jest częścią kontraktu kursora:

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

Zarządzanie zachowaniem kursora

  • Wykryj ostatnią stronę: Kontynuuj stronicowanie tylko wtedy, gdy odpowiedź zawiera @odata.nextLink. Strona terminalu pomija tę właściwość, a odpowiedzi nie zawierają @odata.countelementu .

  • Zachowaj stan kontynuacji: Użyj kompletnego @odata.nextLink dokładnie w postaci, w jakiej zostało zwrócone. Nie twórz, nie modyfikuj, nie dekoduj ani nie wykorzystuj ponownie jego $skiptoken. Ten token obsługuje tylko stronicowanie do przodu.

  • Zmień parametry żądania: Uruchom nowe początkowe żądanie, aby zmienić ścieżkę zasobu, wersję interfejsu API, prefiks wyszukiwania, wybrane właściwości lub rozmiar strony. Połączenie $skiptoken z search lub pageSize zwraca http 400.

  • Uwzględnij zmiany w kolekcji: Paginacja do przodu jest stabilna tylko wtedy, gdy kolekcja pozostaje niezmieniona. Dodawanie, aktualizowanie lub usuwanie zasobów podczas wyliczania może spowodować wygenerowanie zduplikowanych lub pominiętych wyników.