Bagikan melalui


Meningkatkan ke REST API terbaru di Azure AI Search

Gunakan artikel ini untuk memigrasikan panggilan sarana data ke versi API REST Pencarian yang lebih baru.

Instruksi peningkatan berfokus pada perubahan kode yang membuat Anda melalui perubahan menerobos dari versi sebelumnya sehingga kode yang ada berjalan sama seperti sebelumnya, tetapi pada versi API yang lebih baru. Setelah kode Anda dalam urutan kerja, Anda dapat memutuskan apakah akan mengadopsi fitur yang lebih baru. Untuk mempelajari selengkapnya tentang fitur baru, lihat sampel kode vektor dan Apa yang Baru.

Sebaiknya tingkatkan versi API secara berturut-turut, bekerja melalui setiap versi hingga Anda sampai ke versi terbaru.

2023-07-01-preview adalah REST API pertama untuk dukungan vektor. Jangan gunakan versi API ini. Sekarang tidak digunakan lagi dan Anda harus segera bermigrasi ke REST API pratinjau yang stabil atau lebih baru.

Catatan

Dokumen referensi REST API sekarang diberi versi. Untuk konten khusus versi, buka halaman referensi lalu gunakan pemilih yang terletak di sebelah kanan, di atas daftar isi, untuk memilih versi Anda.

Kapan harus memutakhirkan

Azure AI Search memutuskan kompatibilitas mundur sebagai upaya terakhir. Peningkatan diperlukan ketika:

  • Kode Anda mereferensikan versi API yang dihentikan atau tidak didukung dan tunduk pada satu atau beberapa perubahan yang melanggar. Anda harus mengatasi perubahan yang melanggar jika kode Anda menargetkan 2023-07-10-preview vektor, 2020-06-01-preview untuk ranker semantik, dan 2019-05-06 untuk keterampilan dan solusi usang.

  • Kode Anda gagal saat properti yang tidak dikenal dikembalikan dalam respons API. Sebagai praktik terbaik, aplikasi Anda harus mengabaikan properti yang tidak dipahaminya.

  • Kode Anda mempertahankan permintaan API dan mencoba mengirim ulang permintaan tersebut ke versi API baru. Misalnya, ini mungkin terjadi jika aplikasi Anda mempertahankan token kelanjutan yang dikembalikan dari Search API (untuk informasi selengkapnya, cari @search.nextPageParameters di Referensi Search API).

Cara meningkatkan

  1. Tinjau catatan rilis untuk setiap versi API.

  2. api-version Perbarui parameter, yang ditentukan di header permintaan, ke versi yang lebih baru.

    Dalam kode aplikasi Anda yang melakukan panggilan langsung ke REST API, cari semua instans versi yang ada lalu ganti dengan versi baru. Untuk informasi selengkapnya tentang penataan panggilan REST, lihat Mulai Cepat: menggunakan REST.

    Jika Anda menggunakan Azure SDK, paket tersebut menargetkan versi REST API tertentu. Pembaruan paket mungkin bertepatan dengan pembaruan REST API, tetapi setiap SDK berada pada jadwal rilisnya sendiri yang dikirim secara independen dari versi REST API Azure AI Search. Periksa log perubahan paket SDK Anda untuk menentukan apakah rilis paket menargetkan versi REST API terbaru.

  3. Tinjau perubahan yang melanggar yang didokumentasikan dalam artikel ini dan terapkan solusinya. Mulailah dengan versi yang digunakan oleh kode Anda dan atasi perubahan yang melanggar untuk setiap versi API yang lebih baru hingga Anda sampai ke rilis stabil atau pratinjau terbaru.

Melanggar perubahan untuk kode klien yang membaca informasi koneksi

Berlaku mulai 29 Maret 2024 dan berlaku untuk semua REST API yang didukung:

  • GET Skillset, GET Index, dan GET Indexer tidak lagi mengembalikan kunci atau properti koneksi dalam respons. Ini adalah perubahan yang melanggar jika Anda memiliki kode hilir yang membaca kunci atau koneksi (data sensitif) dari respons GET.

  • Jika Anda perlu mengambil kunci API admin atau kueri untuk layanan pencarian Anda, gunakan REST API Manajemen.

  • Jika Anda perlu mengambil string koneksi sumber daya Azure lain seperti Azure Storage atau Azure Cosmos DB, gunakan API sumber daya tersebut dan panduan yang diterbitkan untuk mendapatkan informasi.

Melanggar perubahan untuk ranker semantik

Peringkat semantik umumnya tersedia di 2023-11-01. Berikut adalah perubahan yang melanggar untuk peringkat semantik dari rilis sebelumnya:

  • Di semua versi setelah 2020-06-01-preview: semanticConfiguration menggantikan searchFields sebagai mekanisme untuk menentukan bidang mana yang akan digunakan untuk peringkat L2.

  • Untuk semua versi API, pembaruan pada 14 Juli 2023 ke model semantik yang dihosting Microsoft membuat agnostik bahasa pemeringkat queryLanguage semantik, secara efektif menonaktifkan properti. Tidak ada "perubahan melanggar" dalam kode, tetapi properti diabaikan.

Lihat Migrasi dari versi pratinjau ke transisi kode Anda untuk menggunakan semanticConfiguration.

Tingkatkan ke pratinjau 2024-11-01

2024-11-01-preview penulisan ulang kueri, keterampilan Tata Letak Dokumen, penagihan tanpa kunci untuk pemrosesan keterampilan, mode penguraian Markdown, dan opsi penilaian ulang untuk vektor terkompresi.

Jika Anda memutakhirkan dari 2024-09-01-preview, Anda dapat menggunakan API pratinjau baru tanpa perubahan pada kode yang ada.

Namun, versi baru memperkenalkan perubahan sintaksis pada vectorSearch.compressions:

  • rerankWithOriginalVectors Ganti denganenableRescoring
  • defaultOversampling Berpindah ke objek properti baru rescoringOptions

Kompatibilitas mundur dipertahankan karena pemetaan API internal, tetapi sebaiknya ubah sintaks jika Anda mengadopsi versi pratinjau baru. Untuk perbandingan sintaks, lihat Kompres vektor menggunakan skalar atau kuantisasi biner.

Tingkatkan ke pratinjau 2024-09-01

2024-09-01-preview menambahkan kompresi Matryoshka Representation Learning (MRL) untuk model text-embedding-3, pemfilteran vektor yang ditargetkan untuk kueri hibrid, detail subskore vektor untuk penelusuran kesalahan, dan potongan token untuk keterampilan Pemisahan Teks.

Jika Anda memutakhirkan dari 2024-05-01-preview, Anda dapat menggunakan API pratinjau baru tanpa perubahan pada kode yang ada.

Tingkatkan ke 2024-07-01

2024-07-01 adalah rilis umum. Fitur pratinjau sebelumnya sekarang tersedia secara umum: penggugusan dan vektorisasi terintegrasi (keterampilan Pemisahan Teks, keterampilan AzureOpenAIEmbedding), vektorizer kueri berdasarkan AzureOpenAIEmbedding, kompresi vektor (kuantisasi skalar, kuantisasi biner, properti tersimpan, jenis data sempit).

Tidak ada perubahan yang melanggar jika Anda meningkatkan dari 2024-05-01-preview ke stabil. Untuk menggunakan rilis stabil baru, ubah versi API dan uji kode Anda.

Ada perubahan yang melanggar jika Anda meningkatkan langsung dari 2023-11-01. Ikuti langkah-langkah yang diuraikan untuk setiap pratinjau yang lebih baru untuk bermigrasi dari 2023-11-01 ke 2024-07-01.

Tingkatkan ke pratinjau 2024-05-01

2024-05-01-preview menambahkan indeks OneLake, dukungan untuk vektor biner, dan dukungan untuk model penyematan yang lebih banyak.

Jika Anda meningkatkan dari 2024-03-01-preview, keterampilan AzureOpenAIEmbedding sekarang memerlukan nama model dan properti dimensi.

  1. Cari basis kode Anda untuk referensi AzureOpenAIEmbedding .

  2. Atur modelName ke "text-embedding-ada-002" dan atur dimensions ke "1536".

Tingkatkan ke pratinjau 2024-03-01

2024-03-01-preview menambahkan jenis data sempit, kuantisasi skalar, dan opsi penyimpanan vektor.

Jika Anda memutakhirkan dari 2023-10-01-preview, tidak ada perubahan yang melanggar. Namun, ada satu perbedaan perilaku: untuk 2023-11-01 pratinjau dan yang lebih baru, vectorFilterMode default berubah dari pascafilter menjadi prafilter untuk ekspresi filter.

  1. Cari basis kode Anda untuk vectorFilterMode referensi.

  2. Jika properti diatur secara eksplisit, tidak ada tindakan yang diperlukan. Jika Anda menggunakan default, ketahuilah bahwa perilaku default baru adalah memfilter sebelum eksekusi kueri. Jika Anda ingin pemfilteran pasca-kueri, atur vectorFilterMode secara eksplisit ke postfilter untuk mempertahankan perilaku lama.

Tingkatkan ke 2023-11-01

2023-11-01 adalah rilis umum. Fitur pratinjau sebelumnya sekarang tersedia secara umum: peringkat semantik, indeks vektor, dan dukungan kueri.

Tidak ada perubahan yang melanggar dari 2023-10-01-preview, tetapi ada beberapa perubahan yang melanggar dari 2023-07-01-preview ke 2023-11-01. Untuk informasi selengkapnya, lihat Peningkatan dari pratinjau 2023-07-01.

Untuk menggunakan rilis stabil baru, ubah versi API dan uji kode Anda.

Tingkatkan ke pratinjau 2023-10-01

2023-10-01-preview adalah versi pratinjau pertama yang menambahkan pemotongan dan vektorisasi data bawaan selama pengindeksan dan vektorisasi kueri bawaan. Ini juga mendukung pengindeksan vektor dan kueri dari versi sebelumnya.

Jika Anda memutakhirkan dari versi sebelumnya, bagian berikutnya memiliki langkah-langkahnya.

Peningkatan dari pratinjau 2023-07-01

Jangan gunakan versi API ini. Ini menerapkan sintaks kueri vektor yang tidak kompatibel dengan versi API yang lebih baru.

2023-07-01-preview sekarang tidak digunakan lagi, jadi Anda tidak boleh mendasarkan kode baru pada versi ini, anda juga tidak boleh meningkatkan ke versi ini dalam keadaan apa pun. Bagian ini menjelaskan jalur migrasi dari 2023-07-01-preview ke versi API yang lebih baru.

Peningkatan portal untuk indeks vektor

portal Azure mendukung jalur peningkatan satu klik untuk 2023-07-01-preview indeks. Ini mendeteksi bidang vektor dan menyediakan tombol Migrasi .

  • Jalur migrasi dari 2023-07-01-preview ke 2024-05-01-preview.
  • Pembaruan terbatas pada definisi bidang vektor dan konfigurasi algoritma pencarian vektor.
  • Pembaruan adalah satu arah. Anda tidak dapat membalikkan peningkatan. Setelah indeks dimutakhirkan, Anda harus menggunakan 2024-05-01-preview atau lebih baru untuk mengkueri indeks.

Tidak ada migrasi portal untuk meningkatkan sintaks kueri vektor. Lihat peningkatan kode untuk perubahan sintaks kueri.

Sebelum memilih Migrasi, pilih Edit JSON untuk meninjau skema yang diperbarui terlebih dahulu. Anda harus menemukan skema yang sesuai dengan perubahan yang dijelaskan di bagian peningkatan kode. Migrasi portal hanya menangani indeks dengan satu konfigurasi algoritma pencarian vektor. Ini membuat profil default yang memetakan ke 2023-07-01-preview algoritma pencarian vektor. Indeks dengan beberapa konfigurasi pencarian vektor memerlukan migrasi manual.

Peningkatan kode untuk indeks dan kueri vektor

Dukungan pencarian vektor diperkenalkan dalam Buat atau Perbarui Indeks (pratinjau 2023-07-01).

Meningkatkan dari 2023-07-01-preview ke versi stabil atau pratinjau yang lebih baru memerlukan:

  • Mengganti nama dan merestrukturisasi konfigurasi vektor dalam indeks
  • Menulis ulang kueri vektor Anda

Gunakan instruksi di bagian ini untuk memigrasikan bidang vektor, konfigurasi, dan kueri dari 2023-07-01-preview.

  1. Panggil Dapatkan Indeks untuk mengambil definisi yang ada.

  2. Ubah konfigurasi pencarian vektor. 2023-11-01 dan versi yang lebih baru memperkenalkan konsep profil vektor yang menggabungkan konfigurasi terkait vektor dengan satu nama. Versi yang lebih baru juga berganti nama algorithmConfigurations menjadi algorithms.

    • Ganti nama algorithmConfigurations menjadi algorithms. Ini hanya penggantian nama array. Konten kompatibel mundur. Ini berarti parameter konfigurasi HNSW Anda yang ada dapat digunakan.

    • Tambahkan profiles, berikan nama dan konfigurasi algoritma untuk masing-masing konfigurasi.

    Sebelum migrasi (pratinjau 2023-07-01):

      "vectorSearch": {
        "algorithmConfigurations": [
            {
                "name": "myHnswConfig",
                "kind": "hnsw",
                "hnswParameters": {
                    "m": 4,
                    "efConstruction": 400,
                    "efSearch": 500,
                    "metric": "cosine"
                }
            }
        ]}
    

    Setelah migrasi (2023-11-01):

      "vectorSearch": {
        "algorithms": [
          {
            "name": "myHnswConfig",
            "kind": "hnsw",
            "hnswParameters": {
              "m": 4,
              "efConstruction": 400,
              "efSearch": 500,
              "metric": "cosine"
            }
          }
        ],
        "profiles": [
          {
            "name": "myHnswProfile",
            "algorithm": "myHnswConfig"
          }
        ]
      }
    
  3. Ubah definisi bidang vektor, ganti vectorSearchConfiguration dengan vectorSearchProfile. Pastikan nama profil diselesaikan ke definisi profil vektor baru, dan bukan nama konfigurasi algoritma. Properti bidang vektor lainnya tetap tidak berubah. Misalnya, mereka tidak dapat difilter, dapat diurutkan, atau dapat difaset, atau menggunakan penganalisis atau normalizer atau peta sinonim.

    Sebelum (2023-07-01-preview):

      {
          "name": "contentVector",
          "type": "Collection(Edm.Single)",
          "key": false,
          "searchable": true,
          "retrievable": true,
          "filterable": false,  
          "sortable": false,  
          "facetable": false,
          "analyzer": "",
          "searchAnalyzer": "",
          "indexAnalyzer": "",
          "normalizer": "",
          "synonymMaps": "", 
          "dimensions": 1536,
          "vectorSearchConfiguration": "myHnswConfig"
      }
    

    Setelah (2023-11-01):

      {
        "name": "contentVector",
        "type": "Collection(Edm.Single)",
        "searchable": true,
        "retrievable": true,
        "filterable": false,  
        "sortable": false,  
        "facetable": false,
        "analyzer": "",
        "searchAnalyzer": "",
        "indexAnalyzer": "",
        "normalizer": "",
        "synonymMaps": "", 
        "dimensions": 1536,
        "vectorSearchProfile": "myHnswProfile"
      }
    
  4. Panggil Buat atau Perbarui Indeks untuk memposting perubahan.

  5. Ubah Search POST untuk mengubah sintaks kueri. Perubahan API ini memungkinkan dukungan untuk jenis kueri vektor polimorfik.

    • Ganti nama vectors menjadi vectorQueries.
    • Untuk setiap kueri vektor, tambahkan kind, atur ke vector.
    • Untuk setiap kueri vektor, ganti nama value menjadi vector.
    • Secara opsional, tambahkan vectorFilterMode jika Anda menggunakan ekspresi filter. Defaultnya adalah prafilter untuk indeks yang dibuat setelah 2023-10-01. Indeks yang dibuat sebelum tanggal tersebut hanya mendukung postfilter, terlepas dari cara Anda mengatur mode filter.

    Sebelum (2023-07-01-preview):

    {
        "search": (this parameter is ignored in vector search),
        "vectors": [
          {
            "value": [
                0.103,
                0.0712,
                0.0852,
                0.1547,
                0.1183
            ],
            "fields": "contentVector",
            "k": 5
          }
        ],
        "select": "title, content, category"
    }
    

    Setelah (2023-11-01):

    {
      "search": "(this parameter is ignored in vector search)",
      "vectorQueries": [
        {
          "kind": "vector",
          "vector": [
            0.103,
            0.0712,
            0.0852,
            0.1547,
            0.1183
          ],
          "fields": "contentVector",
          "k": 5
        }
      ],
      "vectorFilterMode": "preFilter",
      "select": "title, content, category"
    }
    

Langkah-langkah ini menyelesaikan migrasi ke 2023-11-01 versi API yang stabil atau versi API pratinjau yang lebih baru.

Meningkatkan ke 2020-06-30

Dalam versi ini, ada satu perubahan yang melanggar dan beberapa perbedaan perilaku. Fitur yang tersedia secara umum meliputi:

  • Penyimpanan pengetahuan, yang merupakan penyimpanan yang terus menerus untuk konten diperkaya yang dibuat melalui keterampilan, didesain untuk analisis downstream dan pemrosesan melalui aplikasi lainnya. Penyimpanan pengetahuan dibuat melalui REST API Azure AI Search tetapi berada di Azure Storage.

Breaking change

Kode yang ditulis terhadap versi API yang lebih lama berhenti pada 2020-06-30 dan yang lebih baru jika kode berisi fungsionalitas berikut:

  • Setiap Edm.Date literal (tanggal yang terdiri dari tahun-bulan-hari, seperti 2020-12-12) dalam ekspresi filter harus mengikuti Edm.DateTimeOffset format: 2020-12-12T00:00:00Z. Perubahan ini diperlukan untuk menangani hasil kueri yang salah atau tidak terduga karena perbedaan zona waktu.

Perubahan perilaku

  • Algoritma peringkat BM25 menggantikan algoritma peringkat sebelumnya dengan teknologi yang lebih baru. Layanan yang dibuat setelah 2019 menggunakan algoritma ini secara otomatis. Untuk layanan lama, Anda harus mengatur parameter untuk menggunakan algoritma baru.

  • Hasil yang diurutkan untuk nilai null telah berubah dalam versi ini, dengan nilai null muncul terlebih dahulu jika pengurutannya adalah asc dan terakhir jika pengurutannya adalah desc. Jika Anda menulis kode untuk menangani pengurutan nilai null, perhatikan perubahan ini.

Meningkatkan ke 2019-05-06

Beberapa fitur sekarang tersedia secara umum dalam versi API ini, yang meliputi:

  • Autocomplete adalah fitur typeahead yang melengkapi sebagian input istilah tertentu.
  • Jenis kompleks menyediakan dukungan asli untuk data objek terstruktur dalam indeks pencarian.
  • Mode penguraian JsonLines, bagian dari pengindeksan Azure Blob, membuat satu dokumen pencarian per entitas JSON yang dipisahkan oleh baris baru.
  • Pengayaan AI menyediakan pengindeksan yang menggunakan mesin pengayaan AI layanan Azure AI.

Perubahan mencolok

Kode yang ditulis terhadap versi API yang lebih lama berhenti pada 2019-05-06 dan yang lebih baru jika berisi fungsionalitas berikut:

  1. Ketik properti untuk Azure Cosmos DB. Untuk pengindeks yang menargetkan Azure Cosmos DB untuk sumber data NOSQL API , ubah "type": "documentdb" ke "type": "cosmosdb".

  2. Jika penanganan kesalahan pengindeks Anda menyertakan referensi ke status properti , Anda harus menghapusnya. Kami menghapus status dari respons kesalahan karena tidak memberikan informasi yang berguna.

  3. String koneksi sumber data tidak lagi dikembalikan dalam respons. Dari versi 2019-05-06 API dan 2019-05-06-Preview seterusnya, API sumber data tidak lagi mengembalikan string koneksi dalam respons operasi REST apa pun. Di versi API sebelumnya, untuk sumber data yang dibuat menggunakan POST, Azure AI Search mengembalikan 201 diikuti oleh respons OData, yang berisi string koneksi dalam teks biasa.

  4. Keterampilan kognitif Pengenalan Entitas Bernama dihentikan. Jika Anda memanggil keterampilan Pengenalan Entitas Nama dalam kode Anda, panggilan gagal. Fungsionalitas penggantinya adalah Kemampuan Pengenalan Entitas (V3). Ikuti rekomendasi dalam Keterampilan yang tidak digunakan lagi untuk bermigrasi ke keterampilan yang didukung.

Meningkatkan jenis kompleks

Versi 2019-05-06 API menambahkan dukungan formal untuk jenis kompleks. Jika kode Anda menerapkan rekomendasi sebelumnya untuk kesetaraan jenis kompleks dalam Pratinjau 2017-11-11 atau Pratinjau 2016-09-01, ada beberapa batas baru dan berubah yang dimulai dalam versi 2019-05-06 yang perlu Anda ketahui:

  • Batasan kedalaman subbidang dan jumlah koleksi kompleks per indeks telah diturunkan. Jika Anda membuat indeks yang melebihi batas ini menggunakan versi api pratinjau, setiap upaya untuk memperbarui atau membuatnya kembali menggunakan versi 2019-05-06 API akan gagal. Jika Anda menemukan diri Anda dalam situasi ini, Anda perlu mendesain ulang skema Anda agar sesuai dalam batas baru lalu membangun kembali indeks Anda.

  • Ada batas baru mulai versi 2019-05-06 api pada jumlah elemen koleksi kompleks per dokumen. Jika Anda membuat indeks dengan dokumen yang melebihi batas ini menggunakan versi api pratinjau, setiap upaya untuk mengindeks ulang data tersebut menggunakan versi 2019-05-06 api gagal. Jika Anda menemukan diri Anda dalam situasi ini, Anda perlu mengurangi jumlah elemen pengumpulan kompleks per dokumen sebelum mengindeks ulang data Anda.

Untuk informasi selengkapnya, lihat Batas layanan untuk Pencarian Azure AI.

Cara meningkatkan struktur jenis kompleks lama

Jika kode Anda menggunakan jenis kompleks dengan salah satu versi API pratinjau yang lebih lama, Anda mungkin menggunakan format definisi indeks yang terlihat seperti ini:

{
  "name": "hotels",  
  "fields": [
    { "name": "HotelId", "type": "Edm.String", "key": true, "filterable": true },
    { "name": "HotelName", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false },
    { "name": "Description", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.microsoft" },
    { "name": "Description_fr", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "fr.microsoft" },
    { "name": "Category", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
    { "name": "Tags", "type": "Collection(Edm.String)", "searchable": true, "filterable": true, "sortable": false, "facetable": true, "analyzer": "tagsAnalyzer" },
    { "name": "ParkingIncluded", "type": "Edm.Boolean", "filterable": true, "sortable": true, "facetable": true },
    { "name": "LastRenovationDate", "type": "Edm.DateTimeOffset", "filterable": true, "sortable": true, "facetable": true },
    { "name": "Rating", "type": "Edm.Double", "filterable": true, "sortable": true, "facetable": true },
    { "name": "Address", "type": "Edm.ComplexType" },
    { "name": "Address/StreetAddress", "type": "Edm.String", "filterable": false, "sortable": false, "facetable": false, "searchable": true },
    { "name": "Address/City", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
    { "name": "Address/StateProvince", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
    { "name": "Address/PostalCode", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
    { "name": "Address/Country", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true },
    { "name": "Location", "type": "Edm.GeographyPoint", "filterable": true, "sortable": true },
    { "name": "Rooms", "type": "Collection(Edm.ComplexType)" }, 
    { "name": "Rooms/Description", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.lucene" },
    { "name": "Rooms/Description_fr", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "fr.lucene" },
    { "name": "Rooms/Type", "type": "Edm.String", "searchable": true },
    { "name": "Rooms/BaseRate", "type": "Edm.Double", "filterable": true, "facetable": true },
    { "name": "Rooms/BedOptions", "type": "Edm.String", "searchable": true },
    { "name": "Rooms/SleepsCount", "type": "Edm.Int32", "filterable": true, "facetable": true },
    { "name": "Rooms/SmokingAllowed", "type": "Edm.Boolean", "filterable": true, "facetable": true },
    { "name": "Rooms/Tags", "type": "Collection(Edm.String)", "searchable": true, "filterable": true, "facetable": true, "analyzer": "tagsAnalyzer" }
  ]
}  

Format seperti pohon yang lebih baru untuk menentukan bidang indeks diperkenalkan dalam versi 2017-11-11-PreviewAPI . Dalam format baru, setiap bidang kompleks memiliki kumpulan bidang tempat sub-bidangnya ditentukan. Dalam API versi 2019-05-06, format baru ini digunakan secara eksklusif dan upaya membuat atau memperbarui indeks menggunakan format lama akan gagal. Jika Anda memiliki indeks yang dibuat menggunakan format lama, Anda harus menggunakan versi 2017-11-11-Preview API untuk memperbaruinya ke format baru sebelum dapat dikelola menggunakan API versi 2019-05-06.

Anda dapat memperbarui indeks datar ke format baru dengan langkah-langkah berikut menggunakan versi 2017-11-11-PreviewAPI :

  1. Lakukan permintaan GET untuk mengambil indeks Anda. Jika permintaan sudah dalam format baru, Anda sudah selesai.

  2. Terjemahkan indeks dari format datar ke format baru. Anda harus menulis kode untuk tugas ini karena tidak ada kode sampel yang tersedia pada saat penulisan ini.

  3. Lakukan permintaan PUT untuk memperbarui indeks ke format baru. Hindari mengubah detail indeks lainnya, seperti kemampuan pencarian/filterabilitas bidang, karena perubahan yang memengaruhi ekspresi fisik indeks yang ada tidak diizinkan oleh API Indeks Pembaruan.

Catatan

Anda tidak dapat mengelola indeks yang dibuat dengan format "flat" lama dari portal Microsoft Azure. Tingkatkan indeks Anda dari representasi "flat" ke representasi "tree" jika Anda ada waktu luang.

Langkah berikutnya

Tinjau dokumentasi referensi Search REST API. Jika Anda mengalami masalah, mintalah bantuan kami tentang Stack Overflow atau hubungi dukungan.