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ő:

Megjegyzé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:

  1. Egyetlen csillag (*), amely azt jelzi, hogy az összes beolvasható mezőt vissza kell adni, vagy
  2. 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": "Secret Point Motel",
  "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": "Secret Point Motel",
  "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
    }
  ]
}

Következő lépések