Cloud Search'ün sorgu yorumlama özelliği, kullanıcının sorgusundaki operatörleri ve filtreleri otomatik olarak yorumlar ve bu öğeleri yapılandırılmış, operatör tabanlı bir sorguya dönüştürür. Sorgu yorumlama, kullanıcının sorgusunun ne anlama geldiğini anlamak için şemada tanımlanan operatörleri ve dizine eklenmiş dokümanları kullanır. Bu özellik, kullanıcının en az anahtar kelimeyle arama yapmasına rağmen yine de doğru sonuçlar elde etmesini sağlar.
Kullanıcıya sunulan gerçek sonuçlar, sorgu yorumunun güven düzeyine bağlıdır. Güven, sorgu dizelerinin dizine eklenmiş dokümanlarda göründüğü yer de dahil olmak üzere çeşitli faktörlere dayanır. actors adlı bir şema alanında tutarlı bir şekilde görünen bir dize (ör. "Tom Hanks" adlı oyuncunun adı) daha yüksek bir güven düzeyiyle sonuçlanır. Şema alanı yerine bir paragrafta görünen aynı dize ("Tom Hanks") güvenin azalmasına neden olabilir. Yüksek güven durumunda, kullanıcıya yalnızca sorgu yorumlamadan elde edilen sonuçlar gösterilir. Daha düşük güven durumunda, sorgu yorumlamasından elde edilen sonuçlar normal anahtar kelime arama sonuçlarıyla karıştırılır.
Örnek sorgu yorumu
Filmler hakkında bilgiler içeren bir veri kaynağınız (ör. veritabanı) olduğunu varsayalım. Şekil 1'de örnek bir arama sorgusu ve sonuçtaki yorum gösterilmektedir.
Bu örnek sorgu göz önüne alındığında, sorgu yorumlama özelliği şunları yapar:
Şemayı ayrıştırır ve veri kaynağındaki üst düzey nesnelerin
objecttype:moviesolarak sınıflandırıldığını belirler. Sorgu yorumlama özelliği artık sorgudaki "filmler"in bir nesne türü olduğunu biliyor."İşlem" dizesinin nerede oluştuğunu belirlemek için veri kaynağındaki belgeleri şemayla birlikte tarar. Dize öncelikle belirli bir "tür" veri kaynağı alanında oluşuyorsa sorgu yorumlaması, şemada tanımlandığı şekilde "aksiyon"un "tür" özelliği için bir özellik değeri olduğuna dair güvene sahiptir. Dize temel olarak içerik paragrafları bağlamında oluşuyorsa sorgu yorumunun güven düzeyi düşer.
Elde edilen sorgu yorumlaması:
actor:“tom hanks” genre:action objecttype:movies
Sorgu yorumlama, tüm Cloud Search müşterileri için ek bir işlem yapılmasına gerek kalmadan otomatik olarak etkinleştirilir. Ancak sorguların en iyi şekilde yorumlanması için şemanızı bu belgedeki talimatlara göre yapılandırmanız gerekir.
Şemanızı sorgu yorumlamayı destekleyecek şekilde yapılandırma
Sorgu yorumlamadan yararlanabilmek için şemanızı yapılandırmanız gerekir.
Görünen ad yorumlarını etkinleştirme
Cloud Search'ün sorgu yorumlama özelliği, kullanıcının sorgusunu yorumlamak ve sonuçları ayarlamak için şemada objectDefinitions ve propertyDefinitions kullanır. Bu şema öğelerinden en iyi şekilde yararlanmak için özellik adları için displayLabel, nesne adları için objectDisplayLabel ve operatörler için operatorName kullanarak sezgisel görünen adlar oluşturmanız gerekir.
Aşağıdaki şemada bir film nesnesi için sezgisel görünen adlar gösterilmektedir:
{
"objectDefinitions": [
{
"name": "movie",
"options": {
"displayOptions": {
"objectDisplayLabel": "Films"
}
...
},
"propertyDefinitions": [
{
"name": "genre",
"isReturnable": true,
"isRepeatable": true,
"isFacetable": true,
"textPropertyOptions": {
"retrievalImportance": { "importance": "HIGHEST" },
"operatorOptions": {
"operatorName": "genre"
}
},
"displayOptions": {
"displayLabel": "Category"
}
},
...
]
}
]
}
Önceki örnekte:
Film nesnesi tanımında "Film"
objectDisplayLabelvar.Tür özelliği tanımında "tür"
operatorNameve "kategori"displayLabelbulunur.
Bu görünen adlar, Cloud Search'ün aşağıdaki sorgu yorumlarını yapmasını sağlar:
- "Aksiyon filmleri", "tür aksiyon türü filmler" veya "tür aksiyon filmleri"
genre:action object:moviesolarak yorumlanır. - "Aksiyon veya gerilim türünde filmler" ifadesi
objecttype:movies genre:(action OR thriller)olarak yorumlanır. - "aksiyon filmi" veya "aksiyon filmleri" ifadesi
genre:action objecttype:moviesolarak yorumlanır. - "komedi kategorisindeki filmler"
genre:comedy objecttype:moviesolarak yorumlanır.
Tarih, sayısal ve sıralama yorumlarını etkinleştirme
IntegerOperatorOptions içinde belirtilen lessThanOperatorName ve greaterThanOperatorName özelliklerini tüm tarih ve sayısal özellikler için tanımlamanız gerekir. Bu ayarlar, tarih ve sayısal değerlerin otomatik olarak yorumlanmasını sağlar. Ayrıca, sıralama yorumlarını etkinleştirmek için tarih ve sayısal özelliklerde isSortable seçeneğini ayarlayın. Aşağıdaki şemada bu seçeneklerin nasıl etkinleştirileceği gösterilmektedir.
{
"objectDefinitions": [
{
"options": {
"displayOptions": {
"objectDisplayLabel": "Films"
}
},
"propertyDefinitions": [
{
"name": "runtime",
"isReturnable": true,
"isSortable": true,
"integerPropertyOptions": {
"orderedRanking": "DESCENDING",
"minimumValue": {
"value": 10
},
"maximumValue": {
"value": 500
},
"operatorOptions": {
"operatorName": "runtime",
"lessThanOperatorName": "runtimelessthan",
"greaterThanOperatorName": "runtimegreaterthan"
}
},
"displayOptions": {
"displayLabel": "Length"
}
},
{
"name": "releasedate",
"isReturnable": true,
"isSortable": true,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "releasedate",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
}
]
}
]
}
Önceki örnekte:
- Sayısal özellik
runtime, filmin uzunluğunu ifade eder.runtimelessthanveruntimegreaterthanbu mülk için ayarlanır. - Tarih özelliği
releaseDate, filmin sinemalarda yayınlandığı tarihi ifade eder.releasedbeforevereleasedafterbu mülk için ayarlanır.
Bu ayarlar, Cloud Search'ün aşağıdaki sorgu yorumlarını yapmasını sağlar:
- Yılın 2019 olduğu varsayıldığında "bu yıl yayınlanan filmler" ifadesi
objecttype: movies releasedafter:2019-1-1 releasedbefore:2019-12-31olarak yorumlanır. - Haftanın Mart ayının üçüncü haftası olduğu varsayıldığında "geçen hafta yayınlanan filmler"
objecttype: movies releasedafter:2019-3-10 releasedbefore:2019-3-16olarak yorumlanır. - "90 dakikadan kısa süreli filmler"
objjecttype: movies runtimelessthan:90olarak yorumlanır. - Yılın 2019 olduğu varsayıldığında "Bu yıl yayınlanan ve 120 dakikadan uzun filmler"
releasedafter:2019-1-1 releasedbefore:2019-12-31 objecttype:movies runtimegreaterthan:120olarak yorumlanır. - "Filmleri yayınlanma tarihine göre sırala" sorgusu, "objecttype: movies" filtresini uygular ve sonuçlar, yayınlanma tarihine göre sıralanır. Varsayılan sıralama düzeni artan düzendir.
Ayrılmış operatör yorumunu etkinleştirme
Sorgu yorumunu iyileştirmek için type, before, after, objecttype ayrılmış yerleşik operatörlerini de kullanabilirsiniz. Bir belgeyi dizine eklerken şunları yapın:
beforeveafteroperatörlerini kullanmak içinItemMetadatabölümündekiupdateTimealanını doldurun. Bu ayarlar, Cloud Search'ün aşağıdaki sorgu yorumlarını yapmasını sağlar:- "Geçen haftanın filmleri" sorgusu, önceki hafta dizine eklenen tüm filmleri listeler.
- "movies before jan 2019" (Ocak 2019'dan önce yayınlanan filmler) sorgusu, Ocak 2019'dan önce dizine eklenen tüm filmleri listeler.
Türün otomatik olarak algılanmasını kullanmak için
ItemMetadatabölümündekimimeTypealanını doldurun. "Aksiyon videoları" sorgusu,application/mp4,application/mpeg4,application/x-shockwave-flash,video/veapplication/vnd.google-apps.videoMIME türüne sahip tüm aksiyon filmi dokümanlarını listeler.
Sorgu yorumlama sınırlamaları
Sorgu yorumlama özelliği aşağıdaki sınırlamalara sahiptir.
- Sorgu yorumlama yalnızca aşağıdaki veri kaynağı erişim kontrol listeleri için çalışır:
- Tüm dokümanlar alan herkese açık (alandaki herkes erişebilir) olmalıdır.
- Tüm dokümanlar, veri kaynağına herkese açık erişim izni verir (veri kaynağına erişimi olan herkes).
- Veri kaynağındaki dokümanların çoğunda aynı erişim kontrol listesi (tüm dokümanlar, erişim kontrol listesini aynı kapsayıcı öğeden devralır) bulunur ve ek okuyucu tanımlanmamıştır.
- Birden fazla şema operatörü aynı değere sahipse bu değerin bir sorgu için operatör amacına yönelik yorumlanması, sorgu yorumlama sistemi tarafından döndürülen genel güven faktörüne bağlıdır. Örneğin, şemada tanımlanmış aynı operatör adlarına sahip
priorityveseverityözellikleriniz olduğunu varsayalım. Her iki operatörün de 0, 1, 2 veya 3 değerlerini alabileceğini varsayalım. Bu örnekte, bir sorgudaki "0" değeripriorityveyaseverityiçin operatör değerini ifade edebilir. Bu değerler belirsizdir ve güven düzeyi daha düşüktür. - Varsayılan olarak, Cloud Search'ün sorgu yorumlama özelliği,
exactMatchWithOperatorseçenekleriyle tanımlanan metin operatörleri hariç olmak üzere, sorguyu yorumlarken alan değerlerinin büyük/küçük harf durumunu düşürür. sourceoperatörü sorgularda desteklenmez.- Operatör tabanlı terimleri ve serbest metin terimlerini birleştiren sorgular yorumlanmaz. Örneğin, "p0 priority cases severity:s0" sorgusu, "p0 priority cases" serbest metin terimi, "severity:s0" ise operatör tabanlı terim olduğundan desteklenmez.
- Sorgu yorumlama stratejisi, yorumlanan sonuçları her zaman normal (yorumlanmamış, alaka düzeyine göre sıralanmış) sonuçlarla karıştırır. Sonuçların tam sayfa değiştirilmesini sağlamaz.