Cloud Search sorgu yorumlama özelliği, kullanıcının sorgusundaki operatörleri ve filtreleri otomatik olarak yapılandırılmış, operatör tabanlı bir sorguya dönüştürür. Bu özellik, sorgu amacını anlamak için şemada tanımlanan ve dizine eklenen dokümanlardaki operatörleri kullanır. Bu sayede kullanıcılar, en az sayıda anahtar kelimeyle arama yapabilir ve kesin sonuçlar elde edebilir.
Sonuçların gösterilmesi güvene bağlıdır. Sorgu dizeleri belirli şema alanlarında (ör. "Tom Hanks"
actors alanında). Dizeler genel düz yazı içinde göründüğünde güven azalır. Yüksek güven düzeyinde yalnızca yorumlanmış sonuçlar gösterilirken daha düşük güven düzeyinde bu sonuçlar standart anahtar kelime sonuçlarıyla karıştırılır.
Örnek sorgu yorumu
Film bilgilerini içeren bir veritabanı düşünün. Şekil 1'de örnek bir arama sorgusu ve yorumu gösterilmektedir.
Bu örnekte sorgu yorumu:
- Şemadan, üst düzey nesnelerin
objecttype:moviesolduğunu belirler. - "İşlem"in gerçekleştiği yeri belirlemek için belgeleri tarar. Öncelikle bir
genrealanında görünüyorsa bu alanın bir özellik değeri olduğuna dair güven artar.
Elde edilen yorum:
actor:"tom hanks" genre:action objecttype:movies
Sorgu yorumlama tüm kullanıcılar için otomatik olarak yapılır ancak şemanızı aşağıdaki bölümlerde açıklandığı şekilde yapılandırarak optimize edebilirsiniz.
Sorgu yorumlama için şemanızı yapılandırma
Şemanızı optimize etmek, sorgu yorumlamadan yararlanmanızı sağlar.
Görünen ad yorumlarını etkinleştirme
Sorgu yorumlama, sorguları yorumlamak için objectDefinitions ve propertyDefinitions kullanır. Özellikler için displayLabel, nesneler için objectDisplayLabel ve operatörler için operatorName kullanarak sezgisel görünen adlar oluşturun.
Bu örnekte, bir film nesnesi için sezgisel görünen adlar gösterilmektedir:
{
"objectDefinitions": [{
"name": "movie",
"options": {
"displayOptions": { "objectDisplayLabel": "Films" }
},
"propertyDefinitions": [{
"name": "genre",
"isReturnable": true,
"textPropertyOptions": {
"operatorOptions": { "operatorName": "genre" }
},
"displayOptions": { "displayLabel": "Category" }
}]
}]
}
Bu görünen adlar şu gibi yorumlara olanak tanır:
- "action movies" (aksiyon filmleri) ->
genre:action object:movies - "movies with genre action or thriller" (Aksiyon veya gerilim türünde filmler) ->
objecttype:movies genre:(action OR thriller) - "comedy category movies" (komedi kategorisindeki filmler) ->
genre:comedy objecttype:movies
Tarih, sayısal ve sıralama yorumlarını etkinleştirme
Tüm tarih ve sayısal özellikler için IntegerOperatorOptions içinde lessThanOperatorName ve greaterThanOperatorName öğelerini tanımlayın. Sıralamayı etkinleştirmek için isSortable değerini ayarlayın.
Bu örnekte şu seçenekler etkinleştirilir:
{
"objectDefinitions": [{
"propertyDefinitions": [
{
"name": "runtime",
"isSortable": true,
"integerPropertyOptions": {
"operatorOptions": {
"operatorName": "runtime",
"lessThanOperatorName": "runtimelessthan",
"greaterThanOperatorName": "runtimegreaterthan"
}
}
},
{
"name": "releasedate",
"isSortable": true,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "releasedate",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
}
]
}]
}
Bu ayarlar aşağıdaki gibi yorumlara olanak tanır:
- "Bu yıl yayınlanan filmler" ->
objecttype:movies releasedafter:2019-1-1 releasedbefore:2019-12-31 - "movies with runtime less than 90" (90 dakikadan kısa filmler) ->
objecttype:movies runtimelessthan:90
Ayrılmış operatör yorumunu etkinleştirme
type, before, after ve objecttype gibi yerleşik operatörleri kullanın:
beforeveafterözelliklerini kullanmak içinItemMetadatabölümündekiupdateTimealanını doldurun.- Otomatik algılama için
ItemMetadatabölümündemimeTypealanını doldurun. Örneğin, "action videos" (aksiyon videoları) video MIME türlerine sahip belgeleri listeler.
Sorgu yorumlama sınırlamaları
- Yalnızca aşağıdaki veri kaynağı erişim kontrol listeleri için geçerlidir:
- Alan adı herkese açık.
- Veri kaynağı herkese açık olmalıdır.
- Belgelerin çoğunda aynı devralınmış ACL'ler bulunur.
- Paylaşılan operatör adları (ör.
priorityveseverityuygulamalarının her ikisi de 0-3) daha düşük güvenilirlik kullanıyor. - Varsayılan olarak yorumlama,
exactMatchWithOperatorkullanmadığınız sürece alan değerleri için küçük harf kullanır. sourceoperatörü desteklenmiyor.- Birleştirilmiş operatör ve serbest metin terimleri (ör. "p0 cases severity:s0") yorumlanmaz.
- Sonuçlar her zaman alaka düzeyine göre sıralanmış sonuçlarla karıştırılır.