Sintaks $select OData di Azure AI Search
Di Azure AI Search, 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 Azure AI Search. Untuk informasi selengkapnya tentang komposisi hasil pencarian, lihat Cara bekerja dengan hasil pencarian di Azure AI Search.
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:
Catatan
Lihat Referensi sintaks ekspresi OData untuk Pencarian Azure AI untuk EBNF lengkap.
Parameter $select memiliki dua bentuk:
- Satu bintang (
*
), menunjukkan bahwa semua bidang yang dapat diambil harus dikembalikan, atau - 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 HotelId
bidang , HotelName
, dan Rating
tingkat atas dalam hasil, dan sertakan City
subbidang 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
bidang tingkat atas dalam hasil. Sertakan semua subbidang Address
. Sertakan Type
subbidang dan BaseRate
dari setiap objek dalam Rooms
koleksi:
$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
}
]
}