Azure AI Search'te OData $select söz dizimi

Azure AI Search'te $select parametresi, arama sonuçlarına eklenecek alanları belirtir. Bu makalede, $select OData söz dizimi açıklanır ve örnekler sağlanır.

Alan yolu oluşturma ve sabitler, Azure AI Search'teki OData diline genel bakış bölümünde açıklanmıştır. Arama sonucu oluşturma hakkında daha fazla bilgi için bkz . Azure AI Search'te arama sonuçlarıyla çalışma.

Sözdizimi

$select parametresi, sorgu sonuç kümesinde her belge için hangi alanların döndürüleceğini belirler. Aşağıdaki EBNF (Genişletilmiş Backus-Naur Formu), $select parametresi için dil bilgisini tanımlar:

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

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

Etkileşimli söz dizimi diyagramı da kullanılabilir:

Dekont

EbNF'nin tamamı için bkz . Azure AI Search için OData ifade söz dizimi başvurusu.

$select parametresi iki biçimde gelir:

  1. Tüm alınabilir alanların döndürülmesi gerektiğini gösteren tek bir yıldız ()* veya
  2. Hangi alanların döndürülmesi gerektiğini tanımlayan, alan yollarının virgülle ayrılmış listesi.

İkinci formu kullanırken, yalnızca listede alınabilir alanlar belirtebilirsiniz.

Karmaşık bir alanı alt alanlarını açıkça belirtmeden listelerseniz, tüm alınabilir alt alanlar sorgu sonuç kümesine eklenir. Örneğin, dizininizin , Cityve alt alanları olan Streetve Country tümü alınabilir bir Address alanı olduğunu varsayalım. $select belirtirseniz Address, sorgu sonuçları üç alt alanı da içerir.

Örnekler

Sonuçlara HotelId, HotelName, ve Rating en üst düzey alanları ekleyin ve alt alanını AddressekleyinCity:

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

Örnek bir sonuç şöyle görünebilir:

{
  "HotelId": "1",
  "HotelName": "Secret Point Motel",
  "Rating": 4,
  "Address": {
    "City": "New York"
  }
}

Sonuçlara HotelName en üst düzey alanı ekleyin. öğesinin Addresstüm alt alanlarını dahil edin. Koleksiyona her nesnenin TypeRooms ve BaseRate alt alanlarını ekleyin:

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

Örnek bir sonuç şöyle görünebilir:

{
  "HotelName": "Secret Point Motel",
  "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
    }
  ]
}

Sonraki adımlar