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

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

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

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

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

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

بالنظر إلى مثال الاستعلام هذا، يقوم تفسير الاستعلام بما يلي:

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

  • تفحص المستندات في مصدر البيانات، بالاقتران مع المخطط، لتحديد مكان حدوث السلسلة "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 "فيلم".

  • تحتوي سمة genreDefinition على "genre" على operatorName و"Category" 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.
  • سيقوم "فرز الأفلام حسب تاريخ الإصدار" بتصفية الأفلام على "نوع الكائن: الأفلام" وسيتم فرز النتائج المقدمة في تاريخ الإصدار مع ترتيب الفرز الافتراضي تصاعديًا.

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

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