Cloud Search'ün sorgu yorumlama özelliği, kullanıcının sorgusundaki operatör ve filtreleri otomatik olarak yorumlar ve bu öğeleri, yapılandırılmış, operatör tabanlı bir sorguya dönüştürür. Sorgu yorumlamada, kullanıcı sorgusunun ne anlama geldiğini anlamak için şemada tanımlanan operatörler ve dizine eklenen belgeler kullanılır. Bu özellik, kullanıcıların minimum anahtar kelimelerle arama yapmasına ve ancak yine de kesin sonuçlar elde etmesine olanak tanır.
Kullanıcıya sunulan gerçek sonuçlar, sorgu yorumlamasının güvenine bağlıdır. Güven düzeyi, sorgu dizelerinin dizine eklenen dokümanlarda nerede görüneceği de dahil olmak üzere çeşitli faktörlere bağlıdır. "Tom Hanks"in adı gibi, actors
adlı şema alanında sürekli olarak görünen bir dize, güvenin daha yüksek olmasını sağlar. Bir paragrafta şema alanı yerine aynı dizenin ("Tom Hanks") görünmesi, güvenin azalmasına neden olabilir. Güçlü bir güven olması durumunda, kullanıcıya yalnızca sorgu yorumlamadan elde edilen sonuçlar gösterilir. Güvenin daha zayıf olduğu durumlarda, sorgu yorumlamasından elde edilen sonuçlar normal anahtar kelime arama sonuçlarıyla karıştırılır.
Örnek sorgu yorumlaması
Filmlerle ilgili bilgiler içeren bir veri kaynağınız (ör. bir veritabanı) olduğunu varsayalım. Şekil 1'de örnek bir arama sorgusu ve bunun sonucunda ortaya çıkan yorum gösterilmektedir.
Bu örnek sorgu göz önüne alındığında, sorgu yorumlaması 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 yorumlamasında artık sorgudaki "filmler"in bir nesne türü olduğu bilinmektedir."action" dizesinin nerede gerçekleştiğini belirlemek için veri kaynağındaki dokümanları şemayla birlikte tarar. Dize öncelikli olarak belirli bir "tür" veri kaynağı alanında gerçekleşiyorsa sorgu yorumlaması, şemada tanımlandığı gibi "eylem" özelliğinin "tür" özelliği için bir özellik değeri olduğuna güvenir. Dize öncelikle içerik paragrafları bağlamında geçiyorsa sorgu yorumlamasının güven düzeyi düşer.
Sonuçta ortaya çıkan sorgu yorumlaması şu şekilde olur:
actor:“tom hanks” genre:action objecttype:movies
Sorgu yorumlama, tüm Cloud Search müşterileri için hiçbir ek işlem gerekmeden otomatik olarak etkinleştirilir. Ancak en iyi sorgu yorumu için şemanızı bu belgedeki talimatlara göre yapılandırmanız gerekir.
Şemanızı sorgu yorumlamayı destekleyecek şekilde yapılandırın
Şemanızı sorgu yorumlamadan faydalanabileceğiniz şekilde yapılandırmalısınız.
Görünen ad yorumlamalarını etkinleştir
Cloud Search'ün sorgu yorumlama sistemi, kullanıcının sorgusunu yorumlamak ve sonuçları ayarlamak için bir şema içinde objectDefinitions
ve propertyDefinitions
özelliklerini kullanır. Bu şema öğelerinin avantajını en üst düzeye çıkarmak amacıyla, özellik adları için displayLabel
, nesne adları için objectDisplayLabel
ve operatörler için operatorName
öğelerini kullanarak pratik 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"
objectDisplayLabel
simgesi vardır.Tür mülk tanımı bir "tür"
operatorName
ve bir "Kategori"displayLabel
içerir.
Bu görünen adlar, Cloud Search'ün aşağıdaki sorguları yorumlamasını sağlar:
- "aksiyon filmleri", "tür aksiyon türündeki filmler" veya "film 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 kategorisi filmleri"
genre:comedy objecttype:movies
olarak yorumlanır.
Tarih, sayısal ve sıralama yorumlamalarını etkinleştirme
Tüm tarih ve sayısal özellikler için IntegerOperatorOptions
içinde 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 belirleyin. 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:
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. Bu mülk içinreleasedbefore
vereleasedafter
ayarlandı.
Bu ayarlar, Cloud Search'ün aşağıdaki sorgu yorumlamalarını yapmasını sağlar:
- 2019 yılında gösterime giren "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 düşünülürse "geçen hafta yayınlanan filmler"
objecttype: movies releasedafter:2019-3-10 releasedbefore:2019-3-16
olarak yorumlanır. - "çalışma zamanı 90'dan az olan filmler"
objjecttype: movies runtimelessthan:90
olarak yorumlanır. - 2019 olduğunu varsayarsak "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: filmler" için filtre uygular ve sunulan sonuçlar, varsayılan sıralama düzeni artan düzende, yayınlanma tarihine göre sıralanır.
Ayrılmış operatör yorumlamasını etkinleştir
Sorgu yorumlamayı iyileştirmek için type
, before
, after
ve objecttype
ayrılmış yerleşik operatörleri de kullanabilirsiniz. Bir dokümanı dizine eklerken aşağıdakileri yapın:
before
veafter
operatörlerini kullanmak içinItemMetadata
bölümündekiupdateTime
alanını doldurun. Bu ayarlar, Cloud Search'ün aşağıdaki sorgu yorumlamalarını yapmasını sağlar:- "geçen haftadaki filmler" bölümünde, dizinde bir önceki hafta güncellenen tüm filmler listelenir.
- "Ocak 2019'dan önceki filmler" bölümünde Ocak 2019'dan önce dizine eklenen tüm filmler listelenir.
Türün otomatik olarak algılanmasını kullanmak için
ItemMetadata
içindekimimeType
alanını doldurun. "Aksiyon videoları" sorgusu, tüm aksiyon filmi belgeleriniapplication/mp4
,application/mpeg4
,application/x-shockwave-flash
,video/
veapplication/vnd.google-apps.video
mime türünde listeler.
Sorgu yorumlama sınırlamaları
Sorgu yorumlama özelliğinde aşağıdaki sınırlamalar vardır.
- Sorgu yorumlama yalnızca şu veri kaynağı EKL'leri için çalışır:
- Tüm dokümanlar herkese açıktır (alan adındaki herkes erişebilir).
- Tüm dokümanlar veri kaynağı herkese açıktır (veri kaynağı EKL'ye erişimi olan herkes).
- Veri kaynağındaki dokümanların büyük çoğunluğu aynı EKL'ye sahip (tüm dokümanlar aynı kapsayıcı öğesindeki EKL'yi devralır) ek okuyucu tanımlanmadan.
- Birden çok şema operatörü aynı değere sahipse bu değerin bir sorgu için operatör amacına yorumlanması, sorgu yorumlama sisteminin döndürdüğü genel güven faktörüne bağlıdır. Örneğin, şemada aynı operatör adlarına sahip
priority
veseverity
özelliklerinin olduğunu varsayalım. Her iki operatörün de 0, 1, 2 veya 3 değerine sahip olabileceğini varsayalım. Bu örnekte, bir sorgudaki "0" değeripriority
veyaseverity
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, sorguyu yorumlarken
exactMatchWithOperator
seçenekleriyle tanımlanan metin operatörleri hariç alan değerlerinin küçük/küçük harf kullanımını azaltır. source
operatörü sorgularda desteklenmez.- Operatör tabanlı terimleri ve serbest metin terimlerini birleştiren sorgular yorumlanmaz. Örneğin, "p0 öncelikli vakaların önem derecesi:s0" sorgusu, "p0 öncelikli vakalar" serbest metin terimiyken "önem derecesi:s0" operatör tabanlı bir terim olduğu için desteklenmez.
- Sorgu yorumlama stratejisi, yorumlanan sonuçları her zaman sıradan (yorumlanmamış, alaka düzeyi sıralamalı) sonuçlarla harmanlar. Sonuçların tam sayfa değişimi yapmaz.