Azure Yapay Zeka Arama'te OData $select söz dizimi

Azure Yapay Zeka Arama'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 Yapay Zeka Arama'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 Yapay Zeka Arama'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:

Not

Tam EBNF için Azure Yapay Zeka Arama'e yönelik OData ifade söz dizimi başvurusuna bakın: .

$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, tamamı alınabilir olan Address, Street, City ve Country alt alanlarına sahip bir 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ını ve City içindeki Address alt alanını ekleyin:

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

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

{
  "HotelId": "1",
  "HotelName": "Stay-Kay City Hotel",
  "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 TypeBaseRate ve Rooms alt alanlarını ekleyin:

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

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

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

Sonraki adımlar