Синтаксис OData $select в поиске ИИ Azure
В службе "Поиск ИИ Azure" параметр $select указывает, какие поля следует включить в результаты поиска. В этой статье описывается синтаксис OData $select и приведены примеры.
Построение и константы пути полей описаны в обзоре языка OData в поиске ИИ Azure. Дополнительные сведения о композиции результатов поиска см. в статье о работе с результатами поиска в службе "Поиск ИИ Azure".
Синтаксис
Параметр $select определяет, какие поля из каждого документа будут возвращены в результирующем наборе запроса. Грамматика параметра $select определяется следующей записью в расширенной форме Бэкуса — Наура (EBNF):
select_expression ::= '*' | field_path(',' field_path)*
field_path ::= identifier('/'identifier)*
Кроме того, вам может помочь интерактивная схема синтаксиса:
Примечание.
См . справочник по синтаксису выражений OData для поиска ИИ Azure для полного EBNF.
Параметр $select существует в двух формах:
- С одиночной звездочкой (
*
), указывающей, что должны возвращаться все извлекаемые поля. - С разделенным запятыми списком путей к полям, который определяет, какие поля следует возвратить.
При использовании второй формы вы можете указать в списке только доступные для извлечения поля.
Если вы перечисляете сложное поле без явного указания его подфилдов, все извлекаемые подфилды будут включены в результирующий набор запроса. Например, предположим, что индекс имеет Address
поле с полями Street
, City
а Country
подфилды — все извлекаемые. Если вы указали Address
в $select, результаты запроса будут содержать все три подполя.
Примеры
HotelId
Включите поля , HotelName
а также Rating
поля верхнего уровня в результаты и включите подполе City
Address
:
$select=HotelId, HotelName, Rating, Address/City
Результаты могут выглядеть следующим образом:
{
"HotelId": "1",
"HotelName": "Stay-Kay City Hotel",
"Rating": 4,
"Address": {
"City": "New York"
}
}
HotelName
Включите поле верхнего уровня в результаты. Включите все подфилды Address
. Type
Включите в BaseRate
коллекцию Rooms
подфилды каждого объекта:
$select=HotelName, Address, Rooms/Type, Rooms/BaseRate
Результаты могут выглядеть следующим образом:
{
"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
}
]
}