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:

Parametr $select má dvě formy:

  1. Jedna hvězdička (*), která indikuje, že by se měla vrátit všechna zobrazovaná pole, nebo
  2. Čá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, Citya 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

HotelIdDo výsledků zahrňte pole , HotelNamea 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
    }
  ]
}

Další kroky