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 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.

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

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 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:

  1. before ve after özelliklerini kullanmak için ItemMetadata bölümündeki updateTime alanını doldurun.
  2. Otomatik algılama için ItemMetadata bölümünde mimeType alanı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. priority ve severity uygulamalarının her ikisi de 0-3) daha düşük güvenilirlik kullanıyor.
  • 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.