Sintaks $select OData di Pencarian Azure AI

Catatan

Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.

Di Pencarian Azure AI, parameter $select menentukan bidang mana yang akan disertakan dalam hasil pencarian. Artikel ini menguraikan sintaks OData $select dan memberikan contoh.

Konstruksi dan konstanta jalur bidang dijelaskan dalam gambaran umum bahasa OData di Pencarian Azure AI. Untuk informasi selengkapnya tentang komposisi hasil pencarian, lihat Cara bekerja dengan hasil pencarian di Pencarian Azure AI.

Sintaks

Parameter $select menentukan bidang mana untuk setiap dokumen yang dikembalikan dalam kumpulan hasil kueri. EBNF(Extended Backus-Naur Form) berikut mendefinisikan tata bahasa untuk parameter $select:

select_expression ::= '*' | field_path(',' field_path)*

field_path ::= identifier('/'identifier)*

Diagram sintaksis interaktif juga tersedia:

Parameter $select memiliki dua bentuk:

  1. Satu bintang (*), menunjukkan bahwa semua bidang yang dapat diambil harus dikembalikan, atau
  2. Daftar jalur bidang yang dipisahkan koma, mengidentifikasi bidang mana yang harus dikembalikan.

Saat menggunakan formulir kedua, Anda hanya dapat menentukan bidang yang dapat diambil dalam daftar.

Jika Anda mencantumkan bidang kompleks tanpa menentukan sub-bidangnya secara eksplisit, semua subbidang yang dapat diambil akan disertakan dalam kumpulan hasil kueri. Misalnya, asumsikan indeks Anda memiliki Address bidang dengan Street, City, dan Country subbidang yang semuanya dapat diambil. Jika Anda menentukan Address dalam $select, hasil kueri akan menyertakan ketiga subbidang.

Contoh

Sertakan bidang HotelId, HotelName, dan Rating tingkat atas dalam hasil, dan sertakan subbidang City dari Address:

    $select=HotelId, HotelName, Rating, Address/City

Contoh hasil mungkin terlihat seperti ini:

{
  "HotelId": "1",
  "HotelName": "Stay-Kay City Hotel",
  "Rating": 4,
  "Address": {
    "City": "New York"
  }
}

Sertakan HotelName kolom tingkat atas dalam hasil. Sertakan semua subbidang Address. Sertakan sub-bidang Type dan BaseRate dari setiap objek dalam koleksi Rooms:

    $select=HotelName, Address, Rooms/Type, Rooms/BaseRate

Contoh hasil mungkin terlihat seperti ini:

{
  "HotelName": "Stay-Kay City Hotel",
  "Rating": 4,
  "Address": {
    "StreetAddress": "677 5th Ave",
    "City": "New York",
    "StateProvince": "NY",
    "Country": "USA",
    "PostalCode": "10022"
  },
  "Rooms": [
    {
      "Type": "Budget Room",
      "BaseRate": 9.69
    },
    {
      "Type": "Budget Room",
      "BaseRate": 8.09
    }
  ]
}

Langkah berikutnya