إنشاء مخطط لتفسير أفضل لطلبات البحث

تفسِّر ميزة تفسير طلبات البحث في Cloud Search تلقائيًا المشغِّلات والفلاتر في طلب بحث المستخدم، وتحوِّل هذه العناصر إلى طلب بحث منظَّم يستند إلى المشغِّلات. تستخدِم عملية تفسير طلبات البحث عوامل التشغيل المحدّدة في المخطّط، بالإضافة إلى المستندات المفهرَسة، لاستنتاج معنى طلب البحث الذي أجراه المستخدِم. تتيح هذه الميزة للمستخدم البحث باستخدام عدد قليل منكلمات رئيسية، مع الحصول على نتائج دقيقة.

تعتمد النتائج الفعلية التي يتم عرضها للمستخدم على درجة الثقة في تفسير طلب البحث. تستند الثقة إلى عدة عوامل، بما في ذلك مواضع ظهور سلاسل طلبات البحث في المستندات المفهرَسة. تؤدي السلسلة، مثل اسم الممثل "Tom Hanks"، التي تظهر بشكلٍ متسق في حقل schema يُسمى actors، إلى زيادة مستوى الثقة. يمكن أن يؤدي ظهور السلسلة نفسها ("Tom Hanks") ضمن فقرة، بدلاً من حقل المخطّط، إلى انخفاض مستوى الثقة. في حال كانت الثقة عالية، يتم عرض النتائج المستمَدة من تفسير طلب البحث فقط للمستخدم. في حال كانت درجة الثقة أقل، يتم دمج نتائج تفسير طلب البحث مع نتائج البحث العادية عن الكلمات الرئيسية.

مثال على تفسير طلب البحث

لنفترض أنّ لديك مصدر بيانات، مثل قاعدة بيانات، يحتوي على معلومات عن الأفلام. يعرض الشكل 1 نموذجًا لطلب بحث وتفسيره الناتج.

نظرة عامة على تفسير طلبات البحث
الشكل 1. تفسير طلب البحث

استنادًا إلى مثال طلب البحث هذا، يؤدي تفسير طلب البحث إلى تنفيذ ما يلي:

  • تُحلِّل المخطّط وتحدِّد أنّه يتم تصنيف العناصر ذات المستوى الأعلى في مصدر البيانات على أنّها objecttype:movies. يعلم تفسير طلبات البحث الآن أنّ "أفلام" في طلب البحث هو نوع عنصر.

  • تفحص المستندات في مصدر البيانات، إلى جانب المخطط، لتحديد مكان ظهور السلسلة "action". إذا كانت السلسلة تظهر في المقام الأول في حقل مصدر بيانات معيّن من النوع "genre"، يكون تفسير الاستعلام متأكدًا من أنّ "action" هي قيمة سمة للسمة "genre" على النحو المحدّد في المخطّط. إذا كانت السلسلة تظهر بشكل أساسي في سياق فقرات المحتوى، ينخفض مستوى الثقة في تفسير طلب البحث.

تفسير طلب البحث الناتج هو:

  actor:tom hanks genre:action objecttype:movies

يتم تفعيل تفسير طلبات البحث تلقائيًا لجميع عملاء Cloud Search بدون أيّ عمل إضافي. ومع ذلك، للحصول على أفضل تفسير للاستعلام، يجب تنظيم المخطّط وفقًا للتعليمات الواردة في هذا المستند.

تنظيم المخطّط لدعم تفسير طلبات البحث

يجب تنظيم مخطّطك لضمان الاستفادة من تفسير طلبات البحث.

تفعيل تفسيرات الاسم المعروض

تستخدِم ميزة تفسير طلبات البحث في Cloud Search العنصرَين objectDefinitions و propertyDefinitions في مخطّط لتفسير طلب بحث المستخدم وضبط النتائج. للاستفادة إلى أقصى حد من عناصر المخطّط هذه، عليك إنشاء أسماء معروضة سهلة الاستخدام باستخدام displayLabel لأسماء السمات، objectDisplayLabel لأسماء الكائنات، وoperatorName للمشغّلات.

يعرض المخطّط التالي أسماء عرض سهلة لعنصر فيلم:

{
  "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"
        }
      },
      ...
      ]
    }
  ]
}

في المثال السابق:

  • يحتوي تعريف عنصر الفيلم على objectDisplayLabel "فيلم".

  • يحتوي تعريف سمة النوع على "نوع" operatorName و"فئة" displayLabel.

تتيح هذه الأسماء المعرِّفة لخدمة Cloud Search إجراء التفسيرات التالية للطلبات:

  • يتم genre:action object:movies التعبير عن "أفلام الحركة" أو "أفلام من النوع حركة" أو "أفلام من النوع حركة".
  • يتم تفسير عبارة "أفلام من النوع حركة أو إثارة" على أنّها objecttype:movies genre:(action OR thriller).
  • يتم تفسير "فيلم حركة" أو "أفلام حركة" على أنّه genre:action objecttype:movies.
  • يتم تفسير "أفلام من فئة الكوميديا" على أنّها genre:comedy objecttype:movies.

تفعيل تفسيرات التاريخ والأرقام والترتيب

يجب تحديد السمتَين lessThanOperatorName وgreaterThanOperatorName، المحدّدتين في IntegerOperatorOptions، لجميع السمات المتعلّقة باليوم والقيمة العددية. تتيح هذه الإعدادات التفسيرات الرقمية والتاريخية التلقائية. بالإضافة إلى ذلك، لتفعيل تفسيرات الترتيب، اضبط الخيار isSortable للخصائص الرقمية والتاريخية. يوضّح المخطط التالي كيفية تفعيل هذه الخيارات.

{
  "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"
            }
          }
        }
      ]
    }
  ]
}

في المثال السابق:

  • تشير السمة الرقمية runtime إلى مدة الفيلم. تم ضبط runtimelessthan وruntimegreaterthan لهذا الموقع الإلكتروني.
  • تشير سمة التاريخ releaseDate إلى تاريخ إصدار فيلم في السينما. تم ضبط السمتَين releasedbefore وreleasedafter لهذا الموقع الإلكتروني.

تتيح هذه الإعدادات لـ Cloud Search إجراء التفسيرات التالية للطلبات:

  • على افتراض أنّ السنة هي 2019، يتم تفسير "الأفلام التي تم إصدارها هذا العام" على أنّه objecttype: movies releasedafter:2019-1-1 releasedbefore:2019-12-31.
  • على افتراض أنّ الأسبوع هو الأسبوع الثالث من شهر آذار (مارس)، يتم تفسير "الأفلام التي تم طرحها الأسبوع الماضي" على أنّها objecttype: movies releasedafter:2019-3-10 releasedbefore:2019-3-16
  • يتم تفسير "الأفلام التي تقل مدّتها عن 90" على أنّها objjecttype: movies runtimelessthan:90.
  • على افتراض أنّ السنة هي 2019، يتم تفسير "الأفلام التي تم طرحها هذا العام ومدتها أكثر من 120" على أنّها releasedafter:2019-1-1 releasedbefore:2019-12-31 objecttype:movies runtimegreaterthan:120.
  • سيؤدي طلب "ترتيب الأفلام حسب تاريخ الإصدار" إلى الفلترة حسب "objecttype: movies"، وسيتم ترتيب النتيجة المعروضة حسب تاريخ الإصدار مع الترتيب التلقائي صعودًا.

تفعيل تفسير المشغِّلات المحجوزة

يمكنك أيضًا استخدام عوامل التشغيل المضمّنة المحجوزة type وbefore وafter وobjecttype لتحسين تفسير طلبات البحث. عند فهرسة مستند، عليك تنفيذ ما يلي:

  1. املأ حقل updateTime في ItemMetadata لاستخدام عاملَي التشغيل before وafter. تتيح هذه الإعدادات لخدمة Cloud Search إجراء التفسيرات التالية للاستعلامات:

    • ستُدرِج عبارة "أفلام الأسبوع الماضي" كل الأفلام التي تم تعديلها في ملف العميل المرجعي في الأسبوع السابق.
    • سيؤدي طلب البحث عن "أفلام قبل كانون الثاني (يناير) 2019" إلى عرض كل الأفلام التي تمت فهرستها قبل كانون الثاني (يناير) 2019.
  2. املأ حقل mimeType في ItemMetadata لاستخدام ميزة الاكتشاف التلقائي لنوع. سيؤدي طلب البحث "فيديوهات أكشن" إلى عرض جميع مستندات أفلام الأكشن التي تتضمّن نوع mime application/mp4 وapplication/mpeg4 وapplication/x-shockwave-flash video/ وapplication/vnd.google-apps.video.

قيود تفسير طلبات البحث

تتضمن ميزة تفسير طلبات البحث القيود التالية:

  • لا تعمل ميزة تفسير طلبات البحث إلا مع ملفات ACL لمصادر البيانات التالية:
    • تكون جميع المستندات علنية في النطاق (يمكن للجميع في النطاق الوصول إليها).
    • جميع المستندات متاحة للجميع في مصدر البيانات (كل شخص لديه إذن بالوصول إلى مصدر البيانات ACL).
    • تحتوي معظم المستندات في مصدر البيانات على قائمة التحكّم بالوصول نفسها (ترث كل المستندات قائمة التحكّم بالوصول من عنصر الحاوية نفسه) بدون تحديد قراء إضافيين.
  • إذا كانت عوامل تشغيل مخطّط متعددة لها القيمة نفسها، يعتمد تفسير هذه القيمة على نية عامل التشغيل للاستعلام على عامل الوثوق بشكل عام الذي يعرضه نظام تفسير الاستعلامات. على سبيل المثال، لنفترض أنّك لديك السمتَان priority وseverity اللتان تحملان اسمَي عامل التشغيل نفسهَين المحدّدَين في المخطّط. لنفترض أنّ كلا العاملين يمكن أن يتضمّن القيم 0 أو 1 أو 2 أو 3. في هذا المثال، يمكن أن تشير القيمة "0" في طلب بحث إلى قيمة عامل التشغيل إما priority أو severity. هذه القيم غير واضحة ومستوى الثقة فيها أدنى.
  • وفقًا للإعدادات التلقائية، تُخفِّض ميزة تفسير طلبات البحث في Cloud Search حالة ملف الوسائط القيم عند تفسير طلب البحث، باستثناء عوامل التشغيل النصية التي تم تحديدها باستخدام خيارات exactMatchWithOperator.
  • لا يمكن استخدام عامل التشغيل source في طلبات البحث.
  • لا تتم معالجة طلبات البحث التي تجمع بين عبارات تستند إلى عوامل التشغيل وعبارات نصية مجانية. على سبيل المثال، لن يكون الطلب "p0 priority cases severity:s0" متوافقًا لأنّ "p0 priority cases" عبارة عن عبارة نصية حرة بينما "severity:s0" عبارة مستندة إلى عامل تشغيل.
  • تدمج استراتيجية تفسير طلبات البحث دائمًا النتائج المفسّرة مع النتائج العادية (غير المفسّرة والمرتّبة حسب مدى الصلة). ولا يؤدي ذلك إلى استبدال الصفحات بالكامل بالنتائج.