Syntaxe $select OData ve službě Azure AI Search
Ve službě Azure AI Search určuje parametr $select , která pole se mají zahrnout do výsledků hledání. Tento článek popisuje syntaxi OData $select a poskytuje příklady.
Konstrukce a konstanty cesty pole jsou popsány v přehledu jazyka OData ve službě Azure AI Search. Další informace o složení výsledků hledání najdete v tématu Jak pracovat s výsledky hledání ve službě Azure AI Search.
Syntaxe
Parametr $select určuje, která pole pro každý dokument se vrátí v sadě výsledků dotazu. Následující formulář EBNF (Extended Backus-Naur Form) definuje gramatiku pro $select parametr:
select_expression ::= '*' | field_path(',' field_path)*
field_path ::= identifier('/'identifier)*
K dispozici je také interaktivní diagram syntaxe:
Poznámka:
Úplný soubor EBNF najdete v referenčních informacích k syntaxi výrazů OData pro Azure AI Search .
Parametr $select má dvě formy:
- Jedna hvězdička (
*
), která indikuje, že by se měla vrátit všechna zobrazovaná pole, nebo - Čárkami oddělený seznam cest polí, který určuje, která pole se mají vrátit.
Při použití druhého formuláře můžete v seznamu zadat pouze zobrazovaná pole.
Pokud vypíšete komplexní pole bez explicitního zadání jeho dílčích polí, budou všechna zobrazitelná dílčí pole zahrnuta do sady výsledků dotazu. Předpokládejme například, že index obsahuje Address
pole s polem Street
, City
a Country
podpole, která jsou všechna načítaná. Pokud zadáte Address
v $select, výsledky dotazu budou obsahovat všechna tři podpole.
Příklady
HotelId
Do výsledků zahrňte pole , HotelName
a Rating
pole nejvyšší úrovně a zahrňte City
dílčí pole Address
:
$select=HotelId, HotelName, Rating, Address/City
Příklad výsledku může vypadat takto:
{
"HotelId": "1",
"HotelName": "Stay-Kay City Hotel",
"Rating": 4,
"Address": {
"City": "New York"
}
}
HotelName
Do výsledků zahrňte pole nejvyšší úrovně. Zahrnout všechna dílčí pole .Address
Type
Do kolekce zahrňte pole a BaseRate
dílčí pole každého objektuRooms
:
$select=HotelName, Address, Rooms/Type, Rooms/BaseRate
Příklad výsledku může vypadat takto:
{
"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
}
]
}