مخطط Google Cloud Search عبارة عن هيكل JSON يحدد والكائنات والخصائص والخيارات التي سيتم استخدامها في فهرسة بياناتك والاستعلامات عنها. يقرأ "موصِّل المحتوى" البيانات من المستودع، وبناءً على المسجّل، وإنشاء البيانات وفهارسها.
يمكنك إنشاء مخطّط من خلال توفير كائن مخطط JSON لواجهة برمجة التطبيقات. ثم تسجيلها. عليك تسجيل كائن مخطط. لكل مستودع من مستودعاتك قبل أن تتمكن من فهرسة بياناتك.
يتناول هذا المستند أساسيات إنشاء المخططات. للحصول على معلومات حول كيفية لضبط المخطط لتحسين تجربة البحث، راجع تحسين جودة البحث:
إنشاء مخطط
في ما يلي قائمة بالخطوات المستخدمة لإنشاء مخطط Cloud Search:
- تحديد سلوك المستخدم المتوقّع
- إعداد مصدر بيانات
- إنشاء مخطّط
- إكمال نموذج المخطط
- تسجيل المخطط
- فهرسة بياناتك
- اختبار المخطط
- تحسين المخطط
تحديد السلوك المتوقع للمستخدم
يساعد توقع أنواع طلبات البحث التي يجريها المستخدمون في توجيه استراتيجيتك لإنشاء المخطط الخاص بك.
فعلى سبيل المثال، عند إصدار استعلامات مقابل قاعدة بيانات أفلام، ربما تتوقع طلب بحث مثل "عرض كل الأفلام من بطولة روبرت ريدفورد". وبالتالي، يجب أن يدعم المخطط نتائج طلبات البحث بناءً على "جميع الأفلام التي تحتوي على ممثل معين".
لتحديد مخطط يعكس الأنماط السلوكية للمستخدم، يُرجى مراعاة أداء هذه المهام:
- قيِّم مجموعة متنوعة من طلبات البحث المطلوبة من مستخدمين مختلفين.
- تحديد الكائنات التي يمكن استخدامها في الاستعلامات. الكائنات منطقية مجموعات من البيانات ذات الصلة، مثل فيلم في قاعدة بيانات للأفلام.
- تحديد الخصائص والقيم التي يتألف منها الكائن والتي يمكن أن تكون المستخدمة في الاستعلامات. الخصائص هي السمات القابلة للفهرسة للكائن، ويمكن أن تتضمن قيمًا أولية أو كائنات أخرى. على سبيل المثال، قد يحتوي كائن الفيلم على خصائص مثل عنوان الفيلم تاريخ الإصدار كقيم أساسية. قد يحتوي كائن الفيلم أيضًا على مثل أعضاء فريق التمثيل، التي لها خصائصها الخاصة، مثل اسمك أو منصبك.
- حدِّد أمثلة للقيم الصالحة للسمات. القيم هي البيانات الفعلية تمت فهرستها لخاصية ما. على سبيل المثال، قد يكون عنوان فيلم واحد في قاعدة البيانات لديك "Raiders of the Lost Ark".
- تحديد خيارات الترتيب والترتيب التي يريدها المستخدمون. على سبيل المثال: عند الاستعلام عن الأفلام، فقد يرغب المستخدمون في الفرز حسب التسلسل الزمني والترتيب حسب تقييمات الجمهور ولا تحتاج إلى الفرز أبجديًا حسب العنوان.
- (اختياري) ضَع في اعتبارك ما إذا كان أحد مواقعك يمثّل موقعًا جغرافيًا أكثر تحديدًا السياق الذي قد يتم فيه تنفيذ عمليات البحث، مثل بحث المستخدمين الدور الوظيفي أو بحيث يمكن تقديم اقتراحات الإكمال التلقائي بناءً على السياق. على سبيل المثال، بالنسبة للأشخاص الذين يبحثون في قاعدة بيانات الأفلام، قد مهتمين فقط بنوع معين من الأفلام. سيحدد المستخدمون ما النوع الذي يريد أن تظهر به عمليات البحث، وربما كجزء من تجربة بك. بعد ذلك، عندما يبدأ المستخدم في كتابة استعلام عن الأفلام، الأفلام في النوع المفضل لها فقط، مثل "أفلام الحركة"، يتم اقتراحها كـ من اقتراحات الإكمال التلقائي.
- عمل قائمة بهذه الكائنات والخصائص وأمثلة القيم التي يمكن المستخدمة في عمليات البحث. (لمزيد من التفاصيل حول كيفية استخدام هذه القائمة، يمكنك الاطّلاع على قسم تحديد خيارات عوامل التشغيل).
إعداد مصدر البيانات
يمثل مصدر البيانات البيانات الواردة من مستودع تمت فهرسته وتخزينها في Google Cloud. للاطّلاع على تعليمات حول إعداد مصدر بيانات مراجعة إدارة مصادر البيانات التابعة لجهات خارجية
يتم عرض نتائج بحث المستخدم من مصدر البيانات. عندما ينقر مستخدم فوق نتيجة بحث، توجه خدمة Cloud Search المستخدم إلى العنصر الفعلي باستخدام عنوان URL المقدَّم في طلب الفهرسة
تحديد الكائنات
الوحدة الأساسية للبيانات في أي مخطط هي الكائن، ويسمى أيضًا "المخطط كائن"، وهو هيكل منطقي للبيانات. في قاعدة بيانات الأفلام، واحد والهيكل المنطقي للبيانات هو "فيلم". قد يكون كائن آخر هو "شخص" إلى تمثل طاقم العمل وطاقم العمل المشاركين في الفيلم.
يتضمّن كل عنصر في أي عنصر سلسلة من الخصائص أو السمات التي وصف العنصر، مثل عنوان الفيلم ومدته أو الاسم وتاريخ ميلاد الشخص. قد تشمل خصائص الجسم العنصر الأساسي القيم أو الكائنات الأخرى.
يعرض الشكل 1 الفيلم وكائنات الشخص وما يرتبط به من كائنات المواقع.
![رسم لاتصالات مخطط بين الكيانات](https://developers-dot-devsite-v2-prod.appspot.com/static/cloud-search/images/schemaExample.png?authuser=7&hl=ar)
إنّ مخطّط Cloud Search
هي قائمة بعبارات تعريف الكائنات المحددة في
العلامة objectDefinitions
. يعرض مقتطف المخطط التالي
عبارات objectDefinitions
للفيلم وكائنات مخطط الشخص.
{
"objectDefinitions": [
{
"name": "movie",
...
},
{
"name": "person",
...
}
]
}
عند تعريف كائن مخطط، يمكنك تقديم name
للكائن الذي يجب
فريدة من نوعها بين جميع الكائنات الأخرى في المخطط. ستستخدم عادةً name
قيمة تصف الكائن، مثل movie
لكائن فيلم. المخطط
الخدمة name
كمعرّف مفتاح للعناصر القابلة للفهرسة. بالنسبة
على مزيد من المعلومات حول حقل name
، ويمكنك مراجعة
تعريف العنصر:
تحديد خصائص العنصر
كما هو محدّد في مرجع
ObjectDefinition,
يكون اسم الكائن متبوعًا بمجموعة من
options
,
وقائمة
propertyDefinitions
تشير رسالة الأشكال البيانية
بإمكان options
تتكون أيضًا من
freshnessOptions
أو
displayOptions
تشير رسالة الأشكال البيانية
freshnessOptions
تُستخدم هذه الإعلانات لتعديل ترتيب البحث استنادًا إلى حداثة العنصر. تشير رسالة الأشكال البيانية
displayOptions
تُستخدم لتحديد ما إذا كان سيتم عرض تسميات وخصائص معينة في
نتائج البحث عن كائن.
تشير رسالة الأشكال البيانية
propertyDefinitions
حيث يمكنك تحديد خصائص أحد الكائنات، مثل عنوان الفيلم.
وتاريخ الإصدار.
يعرض المقتطف التالي الكائن movie
مع خاصيتين: movieTitle
وreleaseDate
.
{
"objectDefinitions": [
{
"name": "movie",
"propertyDefinitions": [
{
"name": "movieTitle",
"isReturnable": true,
"isWildcardSearchable": true,
"textPropertyOptions": {
"retrievalImportance": { "importance": "HIGHEST" },
"operatorOptions": {
"operatorName": "title"
}
},
"displayOptions": {
"displayLabel": "Title"
}
},
{
"name": "releaseDate",
"isReturnable": true,
"isSortable": true,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "released",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
},
"displayOptions": {
"displayLabel": "Release date"
}
...
]
}
]
}
تشير رسالة الأشكال البيانية PropertyDefinition يتضمن العناصر التالية:
- سلسلة
name
. - قائمة بالخيارات غير المرتبطة بنوع محدّد، مثل
isReturnable
في السابقة المقتطف. - النوع والخيارات الخاصة بالنوع المرتبطة به،
مثل
textPropertyOptions
وretrievalImportance
في المقتطف السابق. - تصف سمة
operatorOptions
كيفية استخدام السمة باعتبارها سمة . - تمثّل هذه السمة سمة
displayOptions
واحدة أو أكثر، مثلdisplayLabel
في المقتطف السابق.
يجب أن تكون السمة name
فريدة داخل العنصر المضمَّن.
ولكن يمكن استخدام الاسم نفسه في كائنات وكائنات فرعية أخرى.
في الشكل 1، تم تحديد عنوان الفيلم وتاريخ إصداره مرتين:
مرّة واحدة في الكائن movie
ومرة أخرى في الكائن الفرعي filmography
من
كائن person
. يعيد هذا المخطط استخدام الحقل movieTitle
.
لكي يتيح المخطط استخدام نوعين من سلوكيات البحث:
- تعرض نتائج الأفلام عندما يبحث المستخدمون عن عنوان فيلم.
- عرض نتائج البحث عن أشخاص عندما يبحث المستخدمون عن عنوان فيلم التي لعبها ممثل ما.
وبالمثل، يعيد المخطط استخدام الحقل releaseDate
لأنه يحتوي على
ما يعنيه لحقلي movieTitle
.
عند تطوير مخطّطك الخاص، ضَع في اعتبارك مدى ارتباط المستودع التي تحتوي على بيانات تريد الإفصاح عنها أكثر من مرة في مخططك.
إضافة خيارات غير مرتبطة بأنواع محدّدة
تشير رسالة الأشكال البيانية PropertyDefinition تسرد خيارات وظائف البحث العامة الشائعة بين جميع المواقع بغض النظر عن نوع البيانات.
isReturnable
: يشير إلى ما إذا كان الموقع يحدّد البيانات التي يجب في نتائج البحث عبر واجهة برمجة تطبيقات طلبات البحث. فيلم All of the Example يمكن إرجاعها. يمكن استخدام السمات غير القابلة للإرجاع للبحث. أو ترتيبها بدون عرضها للمستخدمisRepeatable
: يشير إلى ما إذا كان مسموحًا بعدة قيم للسمة. بالنسبة على سبيل المثال، يكون للفيلم تاريخ إصدار واحد فقط ولكن يمكن أن يكون له عدة ممثلين.isSortable
: يشير إلى إمكانية استخدام السمة للترتيب. هذا النمط لا يمكن أن تكون القيمة true للخصائص القابلة للتكرار. على سبيل المثال، نتائج الأفلام قد يتم فرزها حسب تاريخ الإصدار أو تقييم الجمهور.isFacetable
: يشير إلى إمكانية استخدام السمة لإنشاء واجهات. تُستخدم الواجهة لتحسين نتائج البحث التي يرى فيها المستخدم النتائج الأولية ثم تضيف معايير أو واجهات لتحسين تلك نتائجك. لا يمكن أن يكون هذا الخيار صحيحًا بالنسبة إلى المواقع التي يكون نوعها الكائن object يجب أن تكون السياسةisReturnable
صحيحة لضبط هذا الخيار. أخيرًا، يكون هذا الخيار فقط متاحة لخصائص التعداد والمنطقية والنصية. على سبيل المثال، في نموذج المخطط لدينا، قد نجعل أن يتم التعرّف علىgenre
وactorName
وuserRating
وmpaaRating
للسماح لهم استخدامها للتنقيح التفاعلي لنتائج البحث.isWildcardSearchable
تشير إلى أنه يمكن للمستخدمين إجراء بحث حرف بدل عن لهذا الموقع. لا يتوفّر هذا الخيار إلا في الخصائص النصية. كيفية استخدام حرف البدل البحث في حقل النص على القيمة المعينة في exactMatchWithOperator. إذا تم ضبطexactMatchWithOperator
علىtrue
، يتم تحويل القيمة النصية إلى رمز مميّز كقيمة بسيطة واحدة، ويتم إجراء بحث حرف بدل الذي تم إجراؤه ضده. على سبيل المثال، إذا كانت القيمة النصية هيscience-fiction
، استعلام حرف بدلscience-*
يطابقه. إذا تم ضبطexactMatchWithOperator
علىfalse
، يتم تحويل القيمة النصية إلى رمز مميّز ويتم إجراء بحث حرف البدل مقابل لكل رمز مميز. على سبيل المثال، إذا كانت القيمة النصية هي "خيال علمي"، يتم استخدام حرف البدل يتطابقsci*
أوfi*
مع العنصر، ولكن لا يتطابق معهscience-*
.
وتكون جميع معاملات وظائف البحث العامة هذه قيمًا منطقية، هم
لكل منها قيمة تلقائية تبلغ false
ويجب ضبطها على true
تنبؤي.
يعرض الجدول التالي المَعلمات المنطقية التي تم ضبطها على true
.
لكل خصائص الكائن movie
:
الموقع | isReturnable |
isRepeatable |
isSortable |
isFacetable |
isWildcardSearchable |
---|---|---|---|---|---|
movieTitle |
صحيح | صحيح | |||
releaseDate |
صحيح | صحيح | |||
genre |
صحيح | صحيح | صحيح | ||
duration |
صحيح | ||||
actorName |
صحيح | صحيح | صحيح | صحيح | |
userRating |
صحيح | صحيح | |||
mpaaRating |
صحيح | صحيح |
تم ضبط isRepeatable
على true
في كل من genre
وactorName
.
لأنّ الفيلم قد ينتمي إلى أكثر من نوع
أكثر من ممثل واحد لا يمكن ترتيب الخاصية إذا كانت قابلة للتكرار.
أو مضمنة في كائن فرعي قابل للتكرار.
تحديد النوع
تشير رسالة الأشكال البيانية
PropertyDefinition
والقسم المرجعي يدرج العديد من xxPropertyOptions
حيث يكون xx
من نوع معين،
مثل boolean
. لضبط نوع بيانات الموقع، يجب تحديد
كائن نوع البيانات المناسب. تحديد كائن من نوع البيانات للسمة
نوع البيانات لهذه الخاصية. على سبيل المثال، ينبغي أن يؤدي تحديد
يشير textPropertyOptions
للسمة movieTitle
إلى أنّ الفيلم
العنوان من نوع النص. يعرض المقتطف التالي السمة movieTitle
.
مع الإعداد textPropertyOptions
لنوع البيانات.
{
"name": "movieTitle",
"isReturnable": true,
"isWildcardSearchable": true,
"textPropertyOptions": {
...
},
...
},
يمكن أن يكون للموقع نوع بيانات مرتبط واحد فقط. على سبيل المثال، في فيلمنا
، يمكن أن يكون releaseDate
تاريخًا فقط (مثل 2016-01-13
) أو سلسلة
(مثال: January 13, 2016
)، ولكن ليس كليهما.
فيما يلي كائنات نوع البيانات المستخدمة لتحديد أنواع البيانات السمات في نموذج مخطط الفيلم:
الموقع | كائن نوع البيانات |
---|---|
movieTitle |
textPropertyOptions |
releaseDate |
datePropertyOptions |
genre |
enumPropertyOptions |
duration |
textPropertyOptions |
actorName |
textPropertyOptions |
userRating |
integerPropertyOptions |
mpaaRating |
textPropertyOptions |
يعتمد نوع البيانات الذي تختاره للموقع على حالات الاستخدام المتوقّعة.
في السيناريو المتخيل لمخطط الفيلم هذا، يتوقع المستخدمون
إذا أردت تصنيف النتائج حسب التسلسل الزمني، تكون السمة releaseDate
هي عنصر التاريخ.
على سبيل المثال، إذا كانت هناك حالة استخدام متوقعة لمقارنة إصدارات ديسمبر
على مدار السنوات التي تصدر فيها إصدارات كانون الثاني (يناير)، قد يكون تنسيق السلسلة مفيدًا.
ضبط الخيارات الخاصة بالنوع
تشير رسالة الأشكال البيانية
PropertyDefinition
وروابط قسم المراجع التي تؤدي إلى خيارات كل نوع. الأكثر تحديدًا من النوع
تكون الخيارات اختيارية، باستثناء قائمة possibleValues
في
enumPropertyOptions
بالإضافة إلى ذلك، يتيح لك الخيار orderedRanking
ما يلي:
ترتيب القيم بالنسبة إلى بعضها البعض. تشير رسالة الأشكال البيانية
يعرض المقتطف التالي السمة movieTitle
مع textPropertyOptions
لضبط نوع البيانات وباستخدام الخيار الخاص بالنوع retrievalImportance
.
{
"name": "movieTitle",
"isReturnable": true,
"isWildcardSearchable": true,
"textPropertyOptions": {
"retrievalImportance": { "importance": "HIGHEST" },
...
},
...
}
في ما يلي الخيارات الإضافية الخاصة بالنوع والمستخدَمة في نموذج المخطط:
الموقع | النوع | الخيارات الخاصة بالنوع |
---|---|---|
movieTitle |
textPropertyOptions |
retrievalImportance |
releaseDate |
datePropertyOptions |
|
genre |
enumPropertyOptions |
|
duration |
textPropertyOptions |
|
actorName |
textPropertyOptions |
|
userRating |
integerPropertyOptions |
orderedRanking ، maximumValue |
mpaaRating |
textPropertyOptions |
تحديد خيارات عامل التشغيل
بالإضافة إلى الخيارات الخاصة بالنوع، يحتوي كل نوع على مجموعة من الاختيارات
operatorOptions
توضّح هذه الخيارات كيفية استخدام الخاصية كسمة
. يعرض المقتطف التالي السمة movieTitle
مع
textPropertyOptions
من خلال إعداد نوع البيانات ومع
الخيارات الخاصة بالنوع retrievalImportance
وoperatorOptions
.
{
"name": "movieTitle",
"isReturnable": true,
"isWildcardSearchable": true,
"textPropertyOptions": {
"retrievalImportance": { "importance": "HIGHEST" },
"operatorOptions": {
"operatorName": "title"
}
},
...
}
يتضمّن كل operatorOptions
سمة operatorName
، مثل title
.
movieTitle
اسم عامل التشغيل هو عامل تشغيل البحث الخاص بالموقع الإلكتروني. حاسمة
عامل تشغيل البحث هو المعلمة الفعلية التي تتوقع أن يستخدمها المستخدمون
عند تضييق البحث. فعلى سبيل المثال، للبحث عن الأفلام بناءً على عنوانها،
المستخدم سيكتب title:movieName
، حيث movieName
هو اسم الفيلم.
لا يجب أن تكون أسماء عوامل التشغيل متطابقة مع اسم الموقع. بدلاً من ذلك، عليك استخدام أسماء عوامل تشغيل تعكس الكلمات الأكثر شيوعًا. من قِبل المستخدمين في مؤسستك على سبيل المثال، إذا كان المستخدمون يفضلون العبارة "name" بدلاً من "title" لعنوان فيلم، فيجب أن يكون اسم المشغل تعيينه على "name".
يمكنك استخدام اسم عامل التشغيل نفسه لمواقع متعددة ما دامت جميع
الخصائص ترمز إلى النوع نفسه. عند استخدام اسم عامل تشغيل مشترك أثناء
استعلام، يتم استرداد جميع الخصائص التي تستخدم اسم عامل التشغيل هذا. على سبيل المثال:
لنفترض أن كائن الفيلم يحتوي على plotSummary
وplotSynopsis
من المواقع ولكل من هذه المواقع operatorName
من plot
. بالنسبة
طالما أن هاتين السمتين عبارة عن نص (textPropertyOptions
)،
باستخدام عامل تشغيل البحث plot
لاستردادهما.
بالإضافة إلى السمة operatorName
، يمكن أن تحتوي السمات القابلة للترتيب على
الحقلان lessThanOperatorName
وgreaterThanOperatorName
في operatorOptions
.
يمكن للمستخدمين استخدام هذه الخيارات لإنشاء طلبات بحث بناءً على المقارنات مع
التي تم إرسالها.
أخيرًا، يتضمّن textOperatorOptions
الحقل exactMatchWithOperator
في
operatorOptions
إذا كنت
ضبط exactMatchWithOperator
على true
، يجب أن
تتطابق مع قيمة الخاصية بالكامل، وليس مجرد العثور عليها داخل النص.
يتم التعامل مع القيمة النصية كقيمة بسيطة واحدة في عمليات البحث عن طريق عامل التشغيل
مطابقات الواجهات.
على سبيل المثال، يمكنك فهرسة عناصر "كتاب" أو "فيلم" مع خصائص النوع.
يمكن أن تشمل الأنواع "خيال علمي" و"علم" و"خيال". مع
تم ضبط exactMatchWithOperator
على false
أو تم حذفها،
تبحث عن نوع ما أو
اختيار إما زر "العلم" أو "خيال" الواجهة أيضًا
عرض نتائج لطلب البحث "Science-Fiction" حيث يتم تحويل النص إلى رمز مميّز
"العلوم" و"Fiction" الرموز المميزة موجودة في "Science-Fiction".
عندما تكون قيمة exactMatchWithOperator
هي true
،
يتم التعامل مع النص كرمز مميز واحد، لذا فإن
"العلوم" أو "خيال" تتطابق مع "Science-Fiction".
(اختياري) أضِف القسم "displayOptions
"
يوجد قسم displayOptions
اختياري في نهاية أي
قسم "propertyDefinition
". يحتوي هذا القسم على سلسلة displayLabel
واحدة.
السمة displayLabel
هي تصنيف نصي مقترَح وسهلة الاستخدام.
للموقع. إذا تم إعداد الخاصية للعرض باستخدام
ObjectDisplayOptions,
يتمّ عرض هذه التسمية أمام الموقع أو التطبيق. في حال إعداد السمة
للشبكة الإعلانية ولم يتم تحديد displayLabel
، سيتم فقط تحديد قيمة السمة
المعروضة.
يعرض المقتطف التالي السمة movieTitle
مع السمة displayLabel
على "العنوان".
{
"name": "movieTitle",
"isReturnable": true,
"isWildcardSearchable": true,
"textPropertyOptions": {
"retrievalImportance": { "importance": "HIGHEST" },
"operatorOptions": {
"operatorName": "title"
}
},
"displayOptions": {
"displayLabel": "Title"
}
},
في ما يلي قيم displayLabel
لكل خصائص movie
.
في نموذج المخطط:
الموقع | displayLabel |
---|---|
movieTitle |
Title |
releaseDate |
Release date |
genre |
Genre |
duration |
Run length |
actorName |
Actor |
userRating |
Audience score |
mpaaRating |
MPAA rating |
(اختياري) إضافة قسم "suggestionFilteringOperators[]
"
هناك خطوة اختيارية
suggestionFilteringOperators[]
في نهاية أي قسم من أقسام propertyDefinition
. يمكنك استخدام هذا القسم من أجل
تحديد خاصية تُستخدم لتصفية اقتراحات الإكمال التلقائي. على سبيل المثال،
إلى تحديد عامل التشغيل genre
لفلترة الاقتراحات استنادًا إلى طلب بحث المستخدم.
النوع المفضل للفيلم. بعد ذلك، عندما يكتب المستخدم استعلام البحث الخاص به، لا تظهر
يتم عرض الأفلام التي تطابق نوعها المفضّل كجزء من ميزة الإكمال التلقائي.
الاقتراحات.
تسجيل المخطط
لعرض بيانات منظَّمة من طلبات بحث Cloud Search، عليك تسجيل مخططك باستخدام خدمة مخطط Cloud Search. يتطلب تسجيل مخطط معرّف مصدر البيانات الذي حصلت عليه أثناء خطوة إعداد مصدر بيانات:
باستخدام معرّف مصدر البيانات، يمكنك إصدار UpdateSchema لتسجيل مخططك.
كما هو موضح بالتفصيل في UpdateSchema المرجعية أو صفحة مرجعية إصدار طلب HTTP التالي لتسجيل المخطط:
PUT https://cloudsearch.googleapis.com/v1/indexing/{name=datasources/*}/schema
يجب أن يحتوي نص طلبك على ما يلي:
{ "validateOnly": // true or false, "schema": { // ... Your complete schema object ... } }
استخدِم الخيار validateOnly
لاختبار صلاحية المخطط بدون
تسجيله بالفعل.
فهرسة بياناتك
بعد تسجيل المخطط، املأ مصدر البيانات باستخدام الفهرس الاتصالات. تتم الفهرسة عادةً من خلال موصِّل المحتوى.
باستخدام مخطط الفيلم، فإن طلب فهرسة واجهة برمجة تطبيقات REST لفيلم واحد تبدو كما يلي:
{
"name": "datasource/<data_source_id>/items/titanic",
"acl": {
"readers": [
{
"gsuitePrincipal": {
"gsuiteDomain": true
}
}
]
},
"metadata": {
"title": "Titanic",
"sourceRepositoryUrl": "http://www.imdb.com/title/tt2234155/?ref_=nv_sr_1",
"objectType": "movie"
},
"structuredData": {
"object": {
"properties": [
{
"name": "movieTitle",
"textValues": {
"values": [
"Titanic"
]
}
},
{
"name": "releaseDate",
"dateValues": {
"values": [
{
"year": 1997,
"month": 12,
"day": 19
}
]
}
},
{
"name": "actorName",
"textValues": {
"values": [
"Leonardo DiCaprio",
"Kate Winslet",
"Billy Zane"
]
}
},
{
"name": "genre",
"enumValues": {
"values": [
"Drama",
"Action"
]
}
},
{
"name": "userRating",
"integerValues": {
"values": [
8
]
}
},
{
"name": "mpaaRating",
"textValues": {
"values": [
"PG-13"
]
}
},
{
"name": "duration",
"textValues": {
"values": [
"3 h 14 min"
]
}
}
]
}
},
"content": {
"inlineContent": "A seventeen-year-old aristocrat falls in love with a kind but poor artist aboard the luxurious, ill-fated R.M.S. Titanic.",
"contentFormat": "TEXT"
},
"version": "01",
"itemType": "CONTENT_ITEM"
}
لاحظ كيفية تطابق قيمة movie
في الحقل objectType
مع الكائن
اسم تعريف في المخطط. ومن خلال مطابقة هاتين القيمتين، تعرف خدمة Cloud Search
كائن المخطط الذي سيتم استخدامه أثناء الفهرسة.
لاحِظ أيضًا كيف تستخدمها فهرسة السمة releaseDate
في المخطط.
المواقع الفرعية الخاصة بـ year
وmonth
وday
التي تكتسبها لأنها
كنوع بيانات date
من خلال استخدام datePropertyOptions
لتعريفها.
ومع ذلك، بما أنه لم يتم تحديد year
وmonth
وday
في المخطط، يمكنك
لا يمكن إجراء طلب بحث في إحدى هذه المواقع (مثل، year
) بشكل فردي.
يُرجى أيضًا الإشارة إلى كيفية فهرسة السمة القابلة للتكرار actorName
باستخدام قائمة
القيم.
تحديد مشاكل الفهرسة المحتملة
المشكلتان الأكثر شيوعًا في ما يتعلق بالمخططات والفهرسة هما:
يحتوي طلب الفهرسة على كائن مخطط أو اسم خاصية لم يكن تم تسجيله في خدمة المخطط. تؤدي هذه المشكلة إلى ظهور السمة أو العنصر تجاهله.
يحتوي طلب الفهرسة على خاصية ذات نوع قيمة مختلفة عن النوع تسجيله في المخطط. تتسبب هذه المشكلة في عرض Cloud Search لخطأ في وقت الفهرسة
اختبار المخطط باستخدام عدة أنواع طلبات بحث
قبل تسجيل المخطط في مستودع بيانات إنتاج كبير، ففكر في إجراء الاختبار باستخدام مستودع بيانات اختبار أصغر. إجراء الاختبار باستخدام يتيح لك مستودع الاختبار الأصغر إجراء تعديلات على مخططك بسرعة، وحذف البيانات المفهرسة، بدون التأثير في فهرس أكبر أو فهرس إنتاج حالي. لمستودع بيانات الاختبار، قم بإنشاء تتيح قائمة التحكم بالوصول (ACL) لمستخدم تجريبي فقط، حتى لا يرى المستخدمون الآخرون هذه البيانات في نتائج البحث.
لإنشاء واجهة بحث للتحقق من صحة طلبات البحث، راجع واجهة البحث
يحتوي هذا القسم على العديد من نماذج طلبات البحث المختلفة التي قد تستخدمها لاختبار مخطط أفلام.
الاختبار باستخدام طلب عام
يعرض الاستعلام العام جميع العناصر في مصدر البيانات التي تحتوي على طلب بحث محدد سلسلة. باستخدام واجهة بحث، يمكنك تنفيذ طلب بحث عام مقابل فيلم. مصدر البيانات عن طريق كتابة كلمة "titanic" والضغط على Return. الكل الأفلام التي تتضمّن كلمة "تيتانيك" ضمن نتائج البحث.
الاختبار باستخدام عامل تشغيل
تؤدي إضافة عامل تشغيل إلى طلب البحث إلى تقييد النتائج إلى العناصر التي تطابق تلك
. على سبيل المثال، قد ترغب في استخدام عامل التشغيل actor
للبحث عن
جميع الأفلام التي بطولة ممثل محدد. باستخدام واجهة بحث، يمكنك تنفيذ
طلب عامل التشغيل هذا ببساطة عن طريق الكتابة في زوج العامل=القيمة، مثل
"actor:Zane"، والضغط على "actor:Zane". جميع الأفلام التي شارك فيها "زين" كممثل
ضمن نتائج البحث.
ضبط المخطط
بعد استخدام المخطّط وبياناتك، تابِع مراقبة ما يعمل. ولا تعمل لدى المستخدمين. نقترح عليك تعديل المخطّط في الحالات التالية:
- فهرسة حقل لم يسبق أن تمت فهرسته. على سبيل المثال، يميل المستخدمون البحث بشكل متكرر عن الأفلام بناءً على اسم المخرج، لذلك اضبط المخطط لدعم اسم المدير كعامل.
- تغيير أسماء عوامل تشغيل البحث بناءً على ملاحظات المستخدمين أسماء المشغلات هي ليكون سهل الاستخدام. إذا كان المستخدمون "يتذكرون" باستمرار الخطأ باسم مشغل شبكة الجوال، فيمكنك تغييره.
إعادة الفهرسة بعد تغيير المخطط
لا يتطلب منك تغيير أي من القيم التالية في المخطط ما يلي: إعادة فهرسة بياناتك. يمكنك ببساطة إرسال UpdateSchema وسيستمر عمل الفهرس:
- أسماء عوامل التشغيل
- قيَم الحد الأدنى والحد الأقصى لعدد صحيح
- الترتيب المرتَّب من خلال الأعداد الصحيحة والتعداد
- خيارات الحداثة
- خيارات العرض:
بالنسبة إلى التغييرات التالية، ستبقى البيانات التي تمت فهرستها سابقًا صالحة. وفقًا للمخطط المسجَّل مسبقًا. ومع ذلك، يجب إعادة فهرسة الإدخالات الحالية للاطّلاع على التغييرات استنادًا إلى المخطط المُعدَّل إذا كان يتضمن هذه التغييرات:
- إضافة أو إزالة موقع جديد أو كائن جديد
- تغيير
isReturnable
أوisFacetable
أوisSortable
منfalse
إلىtrue
يجب ضبط السمة isFacetable
أو isSortable
على true
فقط إذا كان لديك:
حالة الاستخدام والحاجة الواضحة.
أخيرًا، عند تعديل مخطّطك من خلال وضع علامة على السمة isSuggestable
،
فيجب إعادة فهرسة بياناتك مما يؤدي إلى تأخير في استخدام الإكمال التلقائي
لذلك الموقع.
تغييرات غير مسموح بها في المواقع
لا يُسمح ببعض تغييرات المخططات، حتى إذا أعدت فهرسة بياناتك، لأنها سيؤدي إلى كسر الفهرس أو ظهور نتائج بحث ضعيفة أو غير متسقة. هذه تضمين التغييرات على:
- نوع بيانات الموقع.
- اسم الموقع.
- الإعداد:
exactMatchWithOperator
- الإعداد:
retrievalImportance
ومع ذلك، هناك طريقة لتجنُّب هذا القيد.
إجراء تغيير معقد للمخطط
تجنب التغييرات التي قد تؤدي إلى نتائج بحث سيئة أو عملية بحث معطّلة الفهرس، تمنع خدمة Cloud Search أنواعًا معينة من التغييرات في UpdateSchema الطلبات بعد فهرسة المستودع. على سبيل المثال، نوع البيانات أو لا يمكن تغيير اسم خاصية بعد تحديدها. هذه التغييرات لا يمكن تحقيقه من خلال طريقة UpdateSchema المستخدم حتى إذا أعدت فهرسة بياناتك.
في الحالات التي يجب فيها إجراء تغيير غير مسموح به على يمكنك إجراء سلسلة من التغييرات المسموح بها التي تحقّق التأثير. بوجه عام، يشمل ذلك نقل المواقع الإلكترونية المفهرَسة أولاً. من تعريف كائن قديم إلى تعريف أحدث ثم إرسال طلب فهرسة يستخدم السمة الأحدث فقط.
توضّح الخطوات التالية كيفية تغيير نوع البيانات أو اسم الموقع:
- أضِف سمة جديدة إلى تعريف العنصر في مخططك. استخدام اسم من الموقع الذي تريد تغييره.
- إصدار UpdateSchema بالتعريف الجديد. تذكر إرسال المخطط بالكامل، بما في ذلك العقار الجديد والقديم ضمن الطلب.
إضافة بيانات الفهرس من مستودع البيانات. لإعادة ملء الفهرس، أرسل الكل طلبات الفهرسة باستخدام السمة الجديدة، ولكن ليس حيث إنّه سيؤدي إلى مضاعفة احتساب مطابقات طلبات البحث.
- أثناء إعادة تعبئة الفهرسة، ابحث عن الموقع الجديد القيمة التلقائية على السمة القديمة لتجنُّب السلوك غير المتسق.
- بعد اكتمال إعادة التعبئة، أجرِ طلبات بحث تجريبية للتحقّق من ذلك.
احذف الموقع القديم. إصدار أمر آخر UpdateSchema طلب بدون اسم الموقع القديم وإيقاف استخدام الموقع القديم في طلبات الفهرسة المستقبلية.
يمكنك نقل أي استخدامات للموقع القديم إلى الموقع الجديد. على سبيل المثال، إذا إذا غيّرت اسم السمة من "صانع محتوى" إلى "مؤلف"، يجب تعديل طلب البحث لاستخدام المؤلف حيث ذكرت سابقًا منشئ المحتوى.
تحتفظ Cloud Search بسجل لأي موقع أو كائن محذوف لمدة 30 يومًا. للحماية من أي إعادة استخدام قد تؤدي إلى نتائج فهرسة غير متوقَّعة. وفي غضون هذه الـ 30 يومًا، يجب إيقاف جميع استخدامات الملفات المحذوفة كائن أو خاصية، بما في ذلك حذفها من طلبات الفهرس المستقبلية. يضمن ذلك أنك إذا قررت لاحقًا إعادة ذلك الموقع أو يمكنك إجراء ذلك بطريقة تحافظ على صحة الفهرس.
تعرف على قيود الحجم
تفرض خدمة Cloud Search حدودًا على حجم عناصر البيانات المنظَّمة ومخططاتها. هذه الحدود هي:
- الحد الأقصى لعدد عناصر المستوى الأعلى هو 10 عناصر.
- يبلغ الحد الأقصى لعمق العرض الهرمي للبيانات المنظَّمة 10 مستويات.
- يقتصر إجمالي عدد الحقول في العنصر على 1,000 حقل، والذي يتضمن عدد الحقول الأولية بالإضافة إلى مجموع عدد الحقول في كل كائن مدمج.
الخطوات التالية
في ما يلي بعض الخطوات التي يمكنك اتّخاذها:
إنشاء واجهة بحث لاختبار مخططك.
اضبط المخطط لتحسين جودة البحث.
تعرَّف على كيفية الاستفادة من
_dictionaryEntry
المخطط المطلوب تعريفه مرادفات للعبارات الشائعة الاستخدام في شركتك. لاستخدام_dictionaryEntry
المخطط، راجع تحديد المرادفاتأنشئ موصل.