Syntaxe $select OData ve službě Azure AI Vyhledávač

Poznámka:

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

Ve službě Azure AI Vyhledávač 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 Vyhledávač. 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 Vyhledávač.

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 dostupná pole, nebo
  2. Čárkami oddělený seznam cest polí, který identifikuje, která pole mají být vrácena.

Při použití druhého způsobu můžete v seznamu zadat pouze načitatelná 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 Street, City a Country podpoli, která jsou všechna dostupná. Pokud zadáte Address v $select, výsledky dotazu budou obsahovat všechna tři podpole.

Příklady

Do výsledků zahrňte pole nejvyšší úrovně HotelId, HotelName, a Rating, a zahrňte dílčí pole City z 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. Do kolekce Type zahrňte dílčí pole BaseRate a Rooms každého objektu:

    $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