Azure AI Search의 OData $select 구문
Azure AI Search 에서 $select 매개 변수는 검색 결과에 포함할 필드를 지정합니다. 이 문서에서는 $select의 OData 구문을 설명하고 예를 제공합니다.
필드 경로 생성 및 상수는 Azure AI Search의 OData 언어 개요에 설명되어 있습니다. 검색 결과 컴퍼지션에 대한 자세한 내용은 Azure AI Search에서 검색 결과를 사용하는 방법을 참조하세요.
구문
$select 매개 변수는 쿼리 결과 집합에 반환되는 각 문서에 대한 필드를 결정합니다. 다음 EBNF(Extended Backus-Naur Form)는 $select 매개 변수의 문법을 정의합니다.
select_expression ::= '*' | field_path(',' field_path)*
field_path ::= identifier('/'identifier)*
다음과 같은 대화형 구문 다이어그램도 사용할 수 있습니다.
참고 항목
전체 EBNF는 Azure AI Search의 OData 식 구문 참조를 참조하세요.
$select 매개 변수는 다음 두 가지 형식으로 제공됩니다.
- 검색 가능한 모든 필드를 반환해야 함을 나타내는 단일 별표(
*
또는 - 반환해야 하는 필드를 식별하는 쉼표로 구분된 필드 경로 목록입니다.
두 번째 폼을 사용하는 경우 목록에서 검색 가능한 필드만 지정할 수 있습니다.
하위 필드를 명시적으로 지정하지 않고 복잡한 필드를 나열하면 쿼리 가능한 모든 하위 필드가 쿼리 결과 집합에 포함됩니다. 예를 들어 인덱스에 Address
필드와 모두 검색 가능한 Street
, City
, Country
하위 필드가 있다고 가정합니다. $select에서 Address
를 지정하면 쿼리 결과에 세 개의 하위 필드가 모두 포함됩니다.
예제
결과에 HotelId
, HotelName
및 Rating
최상위 필드를 포함하고 Address
의 City
하위 필드를 포함합니다.
$select=HotelId, HotelName, Rating, Address/City
예제 결과는 다음과 같습니다.
{
"HotelId": "1",
"HotelName": "Stay-Kay City Hotel",
"Rating": 4,
"Address": {
"City": "New York"
}
}
결과에 HotelName
최상위 필드를 포함합니다. Address
의 모든 하위 필드를 포함합니다. Rooms
컬렉션에 있는 각 개체의 Type
및 BaseRate
하위 필드를 포함합니다.
$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
}
]
}