Optimum sorgu yorumu için şema oluşturma

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 sunumu güvene bağlıdır. Sorgu dizeleri belirli şema alanlarında (ör. actors alanında "Tom Hanks") tutarlı bir şekilde göründüğünde güven artar. 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.

Sorgu yorumlamaya genel bakış
Şekil 1. Sorgu yorumlama

Bu örnekte sorgu yorumu:

  • Şemadan, üst düzey nesnelerin objecttype:movies olduğunu belirler.
  • "İşlem"in gerçekleştiği yeri belirlemek için belgeleri tarar. Öncelikle bir genre alanında görünüyorsa bu alanın bir özellik değeri olduğuna dair güven artar.

Elde edilen yorumlama: 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)
  • "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 şu 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 süren filmler) -> objecttype:movies runtimelessthan:90

Ayrılmış operatör yorumunu etkinleştirme

type, before, after ve objecttype gibi yerleşik operatörleri kullanın:

  1. before ve after özelliklerini kullanmak için ItemMetadata bölümünde updateTime alanını doldurun.
  2. Otomatik algılama için mimeType bölümünü ItemMetadata ile 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ğı ACL'leri için çalışır:
    • Alan adı herkese açık.
    • Veri kaynağı herkese açık olmalıdır.
    • Dokümanların çoğunda aynı devralınan erişim kontrol listesi bulunur.
  • Paylaşılan operatör adları (ör. priority ve severity için 0-3 kullanılması) daha düşük güvenilirlik.
  • Varsayılan olarak yorumlama, exactMatchWithOperator kullanmadığınız sürece alan değerleri için küçük harf kullanır.
  • source operatö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.