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ı sorgusunun ne anlama geldiğini anlamak için şemada tanımlanan operatörleri dizine eklenen belgelerle birlikte kullanır. Bu özellik, kullanıcıların çok az anahtar kelimeyle arama yapmasına ve yine de kesin sonuçlar elde etmesine olanak tanır.
Kullanıcıya sunulan gerçek sonuçlar, sorgu yorumlamanın güvenine bağlıdır. Güven düzeyi, sorgu dizelerinin dizine eklenen dokümanlarda nerede göründüğü de dahil olmak üzere çeşitli faktörlere bağlıdır. "Tom Hanks" aktörünün adı gibi actors
adlı bir şema alanında tutarlı bir şekilde görünen bir dize daha yüksek güven sağlar. Bir paragrafta yer alan şema alanı yerine aynı dizenin ("Tom Hanks") gösterilmesi daha düşük güvene neden olabilir. Güçlü bir güven olması durumunda kullanıcıya yalnızca sorgu yorumlamadan elde edilen sonuçlar gösterilir. Güvenin düşük olduğu durumlarda, sorgu yorumlamadan elde edilen sonuçlar normal anahtar kelime arama sonuçlarıyla karıştırılır.
Örnek sorgu yorumlama
Filmler hakkında bilgiler içeren bir veritabanı gibi bir veri kaynağınız olduğunu varsayalım. Şekil 1'de örnek bir arama sorgusu ve sonuçta yapılan yorum gösterilmektedir.
Bu örnek sorgu göz önüne alındığında, sorgu yorumlama aşağıdakileri yapar:
Şemayı ayrıştırır ve veri kaynağındaki üst düzey nesnelerin
objecttype:movies
olarak sınıflandırıldığını belirler. Sorgu yorumlama artık sorgudaki "filmler"in bir nesne türü olduğunu biliyor."İşlem" dizesinin nerede gerçekleştiğini belirlemek için veri kaynağındaki dokümanları şemayla birlikte tarar. Dize ağırlıklı olarak belirli bir "tür" veri kaynağı alanında geçiyorsa sorgu yorumlaması, "eylem"in şemada tanımlandığı gibi "tür" özelliğinin bir özellik değeri olduğuna güvenir. Dize esas olarak içeriğin paragrafları bağlamında gerçekleşiyorsa sorgu yorumlamanın güven düzeyi düşer.
Elde edilen sorgu yorumlaması ise şu şekilde olur:
actor:“tom hanks” genre:action objecttype:movies
Sorgu yorumlama, herhangi bir ek işlem gerekmeden tüm Cloud Search müşterileri için otomatik olarak etkinleştirilir. Ancak, en iyi sorgu yorumlaması için şemanızı bu belgedeki talimatlara göre yapılandırmanız gerekir.
Şemanızı sorgu yorumlamayı destekleyecek şekilde yapılandırma
Şemanızı, sorgu yorumlamasından faydalanabileceğiniz şekilde yapılandırmanız gerekir.
Görünen ad yorumlamalarını etkinleştir
Cloud Search'ün sorgu yorumlaması, kullanıcı sorgusunu yorumlamak ve sonuçları ayarlamak için şemada objectDefinitions
ve propertyDefinitions
'ten yararlanır. Bu şema öğelerinden en iyi şekilde yararlanmak amacıyla ö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 şema, bir film nesnesi için sezgisel görünen adları göstermektedir:
{
"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"
}
},
...
]
}
]
}
Yukarıdaki örnekte:
Film nesnesi tanımında "Film"
objectDisplayLabel
bulunuyor.Tür özelliği tanımında bir "tür"
operatorName
ve bir "Kategori" bulunurdisplayLabel
.
Bu görünen adlar, Cloud Search'ün aşağıdaki sorgu yorumlarını yapmasını sağlar:
- “aksiyon filmleri”, “aksiyon türü aksiyon türü filmler” veya “filmler türü aksiyon”
genre:action object:movies
olarak yorumlanır. - "aksiyon veya gerilim türündeki filmler"
objecttype:movies genre:(action OR thriller)
olarak yorumlanır. - "aksiyon filmi" veya "aksiyon filmleri"
genre:action objecttype:movies
olarak yorumlanır. - "komedi kategorisindeki filmler"
genre:comedy objecttype:movies
olarak yorumlanır.
Tarih, sayısal değerler ve sıralama yorumlamalarını etkinleştirme
Tüm tarih ve sayısal özellikler için IntegerOperatorOptions
ile belirtilen lessThanOperatorName
ve greaterThanOperatorName
değerlerini tanımlamanız gerekir. Bu ayarlar, otomatik tarih ve sayısal yorumları etkinleştirir. Buna ek olarak, sıralama yorumlarını etkinleştirmek amacıyla tarih ve sayısal özellikler için 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"
}
}
}
]
}
]
}
Yukarıdaki örnekte:
runtime
sayısal özelliği bir filmin uzunluğunu ifade eder. Bu mülk içinruntimelessthan
veruntimegreaterthan
ayarlandı.releaseDate
tarih özelliği, bir filmin sinemalarda gösterime girdiği zamanı belirtir.releasedbefore
vereleasedafter
bu mülk için ayarlandı.
Bu ayarlar, Cloud Search'ün aşağıdaki sorgu yorumlamalarını yapmasını sağlar:
- Yılın 2019 olduğu varsayıldığında, "bu yıl yayınlanan filmler"
objecttype: movies releasedafter:2019-1-1 releasedbefore:2019-12-31
olarak 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-16
olarak yorumlanır - "Çalışma süresi 90'dan az olan filmler"
objjecttype: movies runtimelessthan:90
olarak yorumlanır. - Yılın 2019 olduğu varsayıldığında, "bu yıl yayınlanan ve uzunluğu 120'den fazla olan filmler"
releasedafter:2019-1-1 releasedbefore:2019-12-31 objecttype:movies runtimegreaterthan:120
olarak yorumlanır. - "filmleri yayın tarihine göre sırala" seçeneği, "objecttype: movies" filtresiyle filtrelenir ve sunulan sonuçlar yayın tarihine göre, varsayılan sıralama ölçütü artan düzende sıralanır.
Ayrılmış operatör yorumunu etkinleştir
Sorgu yorumlamayı iyileştirmek için type
, before
, after
, objecttype
ayrılmış yerleşik operatörleri de kullanabilirsiniz. Bir dokümanı dizine eklerken şunları yapın:
before
veafter
operatörlerini kullanmak içinItemMetadata
içindekiupdateTime
alanını doldurun. Bu ayarlar, Cloud Search'ün aşağıdaki sorgu yorumlamalarını yapmasını sağlar:- "geçen haftaki filmler" bölümünde, önceki hafta dizinde güncellenen tüm filmler listelenir.
- "Ocak 2019'dan önceki filmler" Ocak 2019'dan önce dizine eklenen tüm filmleri listeler.
Türün otomatik algılama özelliğini kullanmak için
ItemMetadata
içindekimimeType
alanını doldurun. "Aksiyon videoları" sorgusu,application/mp4
,application/mpeg4
,application/x-shockwave-flash
,video/
veapplication/vnd.google-apps.video
MIME 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 şu veri kaynağı EKL'leri için çalışır:
- Tüm dokümanlar herkese açıktır (alandaki herkes erişebilir).
- Tüm dokümanların veri kaynağı herkese açıktır (veri kaynağı EKL'sine erişimi olan herkes).
- Veri kaynağındaki dokümanların çoğunluğu aynı EKL'ye sahiptir (tüm dokümanlar aynı kapsayıcı öğesinden EKL'yi devralır) ek okuyucu tanımlanmaz.
- Birden fazla şema operatörü aynı değere sahipse bu değerin bir sorguda operatör amacına yorumlanması, sorgu yorumlama sisteminin döndürdüğü genel güven faktörüne bağlıdır. Örneğin, şemada tanımlanan aynı operatör adlarına sahip
priority
veseverity
mülklerinizin 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",priority
veyaseverity
iç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 yorumlaması,
exactMatchWithOperator
seçenekleriyle tanımlanan metin operatörleri hariç olmak üzere sorguyu yorumlarken alan değerlerinin büyük/küçük harf kullanımını azaltır. source
operatörü sorgularda desteklenmez.- Operatöre dayalı terimleri ve serbest metin terimlerini birleştiren sorgular yorumlanmaz. Örneğin, "p0 öncelikli vakalar önem derecesi:s0" olan sorgu, "p0 öncelikli vakalar" serbest metin terimi olduğundan "önem derecesi:s0" ise operatör tabanlı bir terim olduğundan desteklenmez.
- Sorgu yorumlama stratejisi, yorumlanan sonuçları her zaman sıradan (yorumlanmamış, alaka düzeyine göre sıralanmış) sonuçlarla karıştırır. Sonuçları tam sayfa olarak değiştirmez.