OData $select szintaxis az Azure AI Searchben
Az Azure AI Searchben a $select paraméter határozza meg, hogy mely mezők szerepeljenek a keresési eredmények között. Ez a cikk a $select OData szintaxisát ismerteti, és példákat tartalmaz.
A mezőút felépítését és állandóit az Azure AI Search OData nyelvének áttekintésében ismertetjük. A keresési eredmények összetételével kapcsolatos további információkért lásd : Hogyan használható a keresési eredmények az Azure AI Searchben.
Syntax
A $select paraméter határozza meg, hogy az egyes dokumentumok mely mezőit adja vissza a lekérdezés eredményhalmaza. A következő EBNF (Extended Backus-Naur form) határozza meg a $select paraméter nyelvtanát:
select_expression ::= '*' | field_path(',' field_path)*
field_path ::= identifier('/'identifier)*
Interaktív szintaxisdiagram is elérhető:
Feljegyzés
A teljes EBNF-hez tekintse meg az Azure AI Search OData-kifejezésszintaxis-hivatkozását.
A $select paraméter két formában érhető el:
- Egyetlen csillag (
*
), amely azt jelzi, hogy az összes beolvasható mezőt vissza kell adni, vagy - A mezőútvonalak vesszővel tagolt listája, amely meghatározza, hogy mely mezőket kell visszaadni.
A második űrlap használatakor csak beolvasható mezőket adhat meg a listában.
Ha egy összetett mezőt úgy listáz, hogy nem adja meg kifejezetten az almezőit, az összes lekért almező szerepelni fog a lekérdezés eredményhalmazában. Tegyük fel például, hogy az index egy olyan mezővel rendelkezikAddress
, amelyben a , City
és Country
az almezők mind lekérdezhetők.Street
Ha $select adja megAddress
, a lekérdezés eredményei mind a három almezőt tartalmazzák.
Példák
Az eredményekbe foglalja bele a HotelId
, HotelName
és Rating
a legfelső szintű mezőket, és adja meg a City
következő almezőt Address
:
$select=HotelId, HotelName, Rating, Address/City
Egy példaeredmény a következőképpen nézhet ki:
{
"HotelId": "1",
"HotelName": "Stay-Kay City Hotel",
"Rating": 4,
"Address": {
"City": "New York"
}
}
Adja meg a HotelName
legfelső szintű mezőt az eredmények között. Adja meg az összes almezőt.Address
Adja meg az Type
egyes objektumok almezőit és BaseRate
almezőit a Rooms
gyűjteményben:
$select=HotelName, Address, Rooms/Type, Rooms/BaseRate
Egy példaeredmény a következőképpen nézhet ki:
{
"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
}
]
}