Partilhar via


Sintaxe $select OData no Azure AI Search

No Azure AI Search, o parâmetro $select especifica quais campos incluir nos resultados da pesquisa. Este artigo descreve a sintaxe OData do $select e fornece exemplos.

A construção e as constantes do caminho de campo são descritas na visão geral da linguagem OData no Azure AI Search. Para obter mais informações sobre a composição dos resultados da pesquisa, consulte Como trabalhar com resultados de pesquisa no Azure AI Search.

Sintaxe

O parâmetro $select determina quais campos para cada documento são retornados no conjunto de resultados da consulta. O seguinte EBNF (Extended Backus-Naur Form) define a gramática para o parâmetro $select :

select_expression ::= '*' | field_path(',' field_path)*

field_path ::= identifier('/'identifier)*

Um diagrama de sintaxe interativo também está disponível:

Nota

Consulte Referência de sintaxe de expressão OData para Azure AI Search para obter o EBNF completo.

O parâmetro $select apresenta-se de duas formas:

  1. Uma única estrela (*), indicando que todos os campos recuperáveis devem ser devolvidos, ou
  2. Uma lista separada por vírgulas de caminhos de campo, identificando quais campos devem ser retornados.

Ao usar o segundo formulário, você só pode especificar campos recuperáveis na lista.

Se você listar um campo complexo sem especificar seus subcampos explicitamente, todos os subcampos recuperáveis serão incluídos no conjunto de resultados da consulta. Por exemplo, suponha que seu índice tenha um Address campo com Street, Citye Country subcampos que são todos recuperáveis. Se você especificar Address em $select, os resultados da consulta incluirão os três subcampos.

Exemplos

Inclua os HotelIdcampos , HotelNamee de Rating nível superior nos resultados e inclua o City subcampo de Address:

    $select=HotelId, HotelName, Rating, Address/City

Um exemplo de resultado pode ser parecido com este:

{
  "HotelId": "1",
  "HotelName": "Stay-Kay City Hotel",
  "Rating": 4,
  "Address": {
    "City": "New York"
  }
}

Inclua o HotelName campo de nível superior nos resultados. Inclua todos os subcampos de Address. Inclua os Type e BaseRate subcampos de cada objeto na Rooms coleção:

    $select=HotelName, Address, Rooms/Type, Rooms/BaseRate

Um exemplo de resultado pode ser parecido com este:

{
  "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
    }
  ]
}

Próximos passos