Azure Yapay Zeka Arama listeleme sonuçlarında sayfalar arasında gezinme (önizleme)

Not

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Important

(önizleme) olarak işaretlenen özellikler, özellikler veya özellikler hizmet düzeyi sözleşmesi kapsamında değildir, üretim iş yükleri için önerilmez ve genel kullanıma sunulmadan önce değişebilir veya kısıtlanabilir. Azure Yapay Zeka Arama önizleme terimleri, tek başına veya genel kullanıma sunulan bir özelliğin parçası olsun, tüm önizleme işlevleri için geçerlidir.

REST API'den 2026-08-01-preview başlayarak, desteklenen hizmet kaynaklarını her seferinde bir sayfa numaralandırmak için imleç sayfalaması (önizleme) kullanın. Hizmet, ek sonuçlar mevcut olduğunda opak bir devam URL'si döndürür.

Bu makalede imleç sözleşmesi açıklanır ve var olan dizinler arasında nasıl sayfalandırma yapılır gösterilmektedir.

Prerequisites

  • En son Azure.Search.Documents önizleme paketi: dotnet add package Azure.Search.Documents --prerelease

  • Anahtarsız kimlik doğrulaması için Azure.Identity paket: dotnet add package Azure.Identity

    Not

    İstemci kitaplığı, Arama Hizmeti REST API'sinin 2026-08-01-preview sürümünü desteklemelidir. Önceki sürümler bu makalede gösterilen imleç parametrelerini kullanıma sunmaz.

  • En son azure-search-documents önizleme paketi: pip install --pre azure-search-documents

  • Anahtarsız kimlik doğrulaması için azure-identity paket: pip install azure-identity

    Not

    İstemci kitaplığı, Arama Hizmeti REST API'sinin 2026-08-01-preview sürümünü desteklemelidir. Önceki sürümler bu makalede gösterilen imleç parametrelerini kullanıma sunmaz.

Liste işlemi seçme

İmleç 2026-08-01-preview sözleşmesi aşağıdaki liste işlemleri için geçerlidir:

Operation Kaynak yolu
Liste Takma Adları /aliases
Veri Kaynaklarını Listeleme /datasources
Dizin oluşturucuları listele /indexers
Dizinleri Listele /indexes
Dizin İstatistiklerini Listele /indexstats
Bilgi Bankalarını Listeleme /knowledgebases
Bilgi Kaynaklarını Listeleme /knowledgesources
Bilgi Kaynağı Dosyalarını Listele /knowledgesources('{knowledge-source-name}')/files
Beceri Kümelerini Listeleme /skillsets
Eş Anlamlı Haritaları Listeleme /synonymmaps

Sayfaları isteme ve takip et

Aşağıdaki örnek, adları ile hotels başlayan ve sayfa başına en fazla 50 dizin isteyen dizinleri listeler. AsyncPageable<SearchIndex> sonucunu yinelediğinizde, izleyen her sayfa otomatik olarak istenir.

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

Başvuru:SearchIndexClient.GetIndexesAsync

Aşağıdaki örnek, adları ile hotels başlayan ve sayfa başına en fazla 50 dizin isteyen dizinleri listeler. ItemPaged sonucunu yinelediğinizde, izleyen her sayfa otomatik olarak istenir.

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)

Referans:SearchIndexClient.list_indexes

adları ile hotelsbaşlayan dizinleri listelemek için bir ilk istek gönderin. İstek en fazla 50 dizin adı döndürür:

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

Referans:İndeksleri Listele

50'den fazla eşleşen dizin mevcut olduğunda yanıt, tam devamlılık URL'sini ve bir opak belirteci içeren öğesini içerir @odata.nextLink. Aşağıdaki yanıt kısaltılır:

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

Sonraki sayfayı istemek için tam olarak döndürülen değere @odata.nextLink bir GET isteği gönderin. Aynı kimlik doğrulama üst bilgisini koru:

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

Referans:İndeksleri Listele

Terminal yanıtı nihai dizin adlarını içerir ve @odata.nextLink öğesini atlayarak başka sayfa olmadığını gösterir. Sonuç sırası imleç sözleşmesinin bir parçası değildir:

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

İmleç davranışını işleme

  • Son sayfayı algılayın: Yalnızca yanıt @odata.nextLink içerdiği sürece sayfalamaya devam edin. Terminal sayfası bu özelliği atlar ve yanıtlar içermez @odata.count.

  • Devam etme durumunu koruyun: Döndürüldüğü şekliyle eksiksiz @odata.nextLink öğesini kullanın. Onun $skiptoken yapısını oluşturmayın, değiştirmeyin, kodunu çözmeyin veya yeniden kullanmayın. Belirteç yalnızca ileri sayfalamayı destekler.

  • değişiklik isteği parametreleri: Kaynak yolunu, API sürümünü, arama ön ekini, seçili özellikleri veya sayfa boyutunu değiştirmek için yeni bir ilk istek başlatın. pageSize öğesini search veya $skiptoken ile birleştirmek HTTP 400 döndürür.

  • Koleksiyon değişikliklerini hesaba katın: İleri sayfalama, yalnızca koleksiyonda değişiklik olmadığı sürece kararlıdır. Numaralandırma sırasında kaynak eklemek, güncelleştirmek veya silmek yinelenen veya atlanmış sonuçlara neden olabilir.