نشر موصل CSV

هذا الدليل مخصّص لملفات CSV في Google Cloud Search (قيم مفصولة بفواصل). المشرفين على الموصل، أي أي شخص مسئول عن التنزيل، وتهيئة الموصل وتشغيله ومراقبته.

يتضمّن هذا الدليل تعليمات لتنفيذ المهام الرئيسية ذات الصلة بملف CSV. نشر الموصل:

  • تنزيل برنامج موصِّل ملف CSV في Google Cloud Search
  • إعداد الموصِّل لاستخدامه مع مصدر بيانات CSV محدّد
  • نشر الموصل وتشغيله

لفهم المفاهيم الموجودة في هذا المستند، يجب أن تكون على دراية أساسيات Google Workspace وملفات CSV وقوائم التحكّم بالوصول (ACL).

نظرة عامة على موصِّل ملف CSV في Google Cloud Search

يعمل موصِّل CSV في Cloud Search مع أي نص قيم مفصولة بفواصل (CSV). الملف. يخزن ملف CSV البيانات المجدولة، وكل سطر من الملف عبارة عن بيانات تسجيل.

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

يمكن تثبيت موصِّل ملف CSV في Google Cloud Search على نظام التشغيل Linux أو Windows. قبل نشر موصِّل ملف CSV في Google Cloud Search، تأكَّد من حصولك على المكونات المطلوبة التالية:

  • تم تثبيت الإصدار 1.8 من Java JRE على جهاز كمبيوتر يُشغِّل ملف CSV في Google Cloud Search موصِّل
  • معلومات Google Workspace المطلوبة لإنشاء علاقات بين Google Cloud Search ومصدر البيانات:

    يمكن عادةً لمشرف Google Workspace في النطاق تقديم بيانات الاعتماد هذه من أجلك.

خطوات النشر

لنشر موصِّل ملف CSV في Google Cloud Search، اتّبِع الخطوات التالية:

  1. تثبيت برنامج موصِّل ملف CSV في Google Cloud Search
  2. تحديد إعدادات موصل CSV
  3. ضبط الوصول إلى مصدر بيانات Google Cloud Search
  4. ضبط الوصول إلى ملف CSV
  5. تحديد أسماء الأعمدة لفهرستها والأعمدة الرئيسية الفريدة وأعمدة التاريخ والوقت
  6. تحديد الأعمدة المراد استخدامها في عناوين URL لنتائج البحث القابلة للنقر
  7. تحديد معلومات البيانات الوصفية وتنسيقات الأعمدة
  8. جدولة عملية اجتياز البيانات
  9. تحديد خيارات قائمة التحكم بالوصول (ACL)

1. تثبيت حزمة تطوير البرامج (SDK)

ثبِّت حزمة تطوير البرامج (SDK) في مستودع Maven المحلي.

  1. استنسِخ مستودع SDK من GitHub.

    $ git clone https://github.com/google-cloudsearch/connector-sdk.git
    $ cd connector-sdk/csv
  2. تحقَّق من الإصدار المطلوب من حزمة SDK:

    $ git checkout tags/v1-0.0.3
  3. إنشاء الموصل:

    $ mvn package
  4. انسخ الملف المضغوط للموصل إلى دليل التثبيت المحلي:

    $ cp target/google-cloudsearch-csv-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-csv-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-csv-connector-v1-0.0.3

2. تحديد إعدادات موصل CSV

بصفتك مشرف الموصل، يمكنك التحكم في سلوك موصل CSV التي تحدد المعلمات في ملف تهيئة الموصل. تشمل المَعلمات القابلة للضبط ما يلي:

  • الوصول إلى مصدر بيانات
  • موقع ملف CSV
  • تعريفات أعمدة CSV
  • الأعمدة التي تحدِّد معرِّفًا فريدًا
  • خيارات الاجتياز
  • خيارات ACL لتقييد الوصول إلى البيانات

ولكي يتمكن الموصل من الوصول بشكل صحيح إلى ملف CSV وفهرسة المحتوى ذي الصلة، يجب عليك أولاً إنشاء ملف الإعداد الخاص به.

لإنشاء ملف تهيئة:

  1. افتح محرِّر نصوص من اختيارك وأدخِل اسمًا لملف الإعداد.
    أضف أزواج key=value إلى محتوى الملف كما هو موضح في ما يلي الأقسام.
  2. احفظ ملف الإعداد وأدخِل اسمًا له.
    تنصح Google بتسمية ملف الإعداد connector-config.properties لذلك لا يتم توفير معلَمات سطر أوامر إضافية. المطلوبة لتشغيل الموصل.

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

لضمان تعرُّف الموصل على ملف الإعداد، حدِّد مساره على سطر الأوامر. بخلاف ذلك، يستخدم الموصل connector-config.properties في الدليل المحلي باعتباره باسم الملف الافتراضي. لمزيد من المعلومات حول تحديد مسار التهيئة على سطر الأوامر، يُرجى الاطِّلاع على تشغيل موصل CSV في Cloud Search.

3- ضبط إمكانية الوصول إلى مصدر بيانات Google Cloud Search

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

الإعدادات المعلمة
رقم تعريف مصدر البيانات api.sourceId=1234567890abcdef

مطلوب. معرّف مصدر Google Cloud Search الذي أعدّه مشرف Google Workspace، كما هو موضَّح في مقالة إدارة مصادر البيانات التابعة لجهات خارجية.

المسار إلى ملف المفتاح الخاص لحساب الخدمة api.serviceAccountPrivateKeyFile=./PrivateKey.json

مطلوب. ملف مفتاح حساب خدمة Google Cloud Search الخاص بإمكانية الوصول إلى موصل ملف CSV في Google Cloud Search.

رقم تعريف مصدر الهوية api.identitySourceId=x0987654321

مطلوب في حال استخدام مجموعات ومستخدمين خارجيين. رقم تعريف مصدر هوية Google Cloud Search الذي أعدّه مشرف Google Workspace.

4. ضبط مَعلمات ملف CSV

قبل أن يجتاز الموصل ملف CSV ويستخرج البيانات منه الفهرسة، فيجب تحديد المسار إلى الملف. يمكنك أيضًا تحديد تنسيق الملف ونوع ترميز الملف. أضِف المَعلمات التالية لتحديد خصائص ملف CSV في ملف الإعداد.

الإعدادات المعلمة
المسار إلى ملف CSV csv.filePath=./movie_content.csv

مطلوب. المسار إلى ملف CSV المراد الوصول إليه واستخراج المحتوى لفهرسته.

تنسيق الملف csv.format=DEFAULT

تنسيق الملف يمكن الحصول على القيم من فئة CSVFormat في Apache Commons.

تشمل قيم التنسيق: DEFAULT وEXCEL وINFORMIX_UNLOAD وINFORMIX_UNLOAD_CSV وMYSQL وRFC4180 وORACLE وPOSTGRESQL_CSV وPOSTGRESQL_TEXT وTDF. في حال عدم تحديد ذلك، يستخدم Cloud Search "DEFAULT".

أداة تعديل تنسيق الملف csv.format.withMethod=value

تعديل في كيفية معالجة Cloud Search للملف تتوفر الطرق المحتملة من فئة CSVFormat الخاصة بـ Apache Commons، وتشمل الطرق التي تأخذ حرفًا واحدًا أو سلسلة أو قيمة منطقية.

على سبيل المثال، لتحديد فاصلة منقوطة كمُحدِّد، استخدِم csv.format.withDelimiter=;. لتجاهل الأسطر الفارغة، استخدِم csv.format.withIgnoreEmptyLines=true.

نوع ترميز الملف csv.fileEncoding=UTF-8

يتم استخدام حرف Java عند قراءة Cloud Search للملف. إذا لم يتم تحديدها، تستخدم خدمة Cloud Search مجموعة الأحرف التلقائية للنظام الأساسي.

5- تحديد أسماء الأعمدة لفهرستها والأعمدة الرئيسية الفريدة

لكي يتمكن الموصل من الوصول إلى ملفات CSV وفهرستها، يجب تقديم معلومات حول تعريفات الأعمدة في ملف الإعداد. إذا كانت لا يحتوي ملف الإعداد على المَعلمات التي تحدِّد أسماء الأعمدة لفهرستها والأعمدة الرئيسية الفريدة، تُستخدم القيم الافتراضية.

الإعدادات المعلمة
الأعمدة المراد فهرستها csv.csvColumns=movieId,movieTitle,description,actors,releaseDate,year,userratings...

أسماء الأعمدة المطلوب فهرستها من ملف CSV. إذا لم يتم ضبط csv.csvColumns، سيتم استخدام الصف الأول من ملف CSV كعنوان. إذا تم ضبط csv.csvColumns، ستكون له الأولوية على الصف الأول من ملف CSV. إذا تم ضبط csv.csvColumns وكان الصف الأول من ملف CSV عبارة عن قائمة بأسماء الأعمدة، يجب ضبط csv.skipHeaderRecord=true لتجنُّب محاولة فهرسة الصف الأول كبيانات. القيم التلقائية هي الأعمدة في صف العنوان ضمن الملف.

الأعمدة الرئيسية الفريدة csv.uniqueKeyColumns=movieId

أعمدة CSV التي سيتم استخدام قيمها لإنشاء رقم تعريف فريد لكل سجل. وفي حال عدم تحديد قيمة، يجب استخدام تجزئة سجلّ CSV كمفتاح فريد. القيمة التلقائية هي رمز تجزئة السجلّ.

6- تحديد الأعمدة المراد استخدامها في عناوين URL لنتائج البحث القابلة للنقر

عندما يُجري مستخدم بحثًا باستخدام Google Cloud Search، يستجيب من خلال عرض النتائج تشتمل على عناوين URL قابلة للنقر لكل نتيجة. لتفعيل هذه الميزة، يمكنك يجب إضافة المعلمة المعروضة في الجدول التالي إلى ملف الإعداد.

الإعدادات المعلمة
تنسيق عنوان URL لنتيجة البحث url.format=https://mymoviesite.com/movies/{0}

مطلوب. التنسيق المطلوب لإنشاء عنوان URL للعرض لمحتوى ملف CSV.

مَعلمات عناوين URL لنتائج البحث url.columns=movieId

مطلوب. أسماء أعمدة CSV التي سيتم استخدام قيمها لإنشاء عنوان URL لعرض السجل.

مَعلمات عناوين URL لنتائج البحث المطلوب تخطيها url.columnsToEscape=movieId

اختياريّ. أسماء أعمدة CSV التي سيتم تخطي عنوان URL فيها لإنشاء عنوان URL صالح للعرض.

7. تحديد معلومات البيانات الوصفية وتنسيقات الأعمدة وجودة البحث

يمكنك إضافة مَعلمات إلى ملف الإعدادات التي تحدّد ما يلي:

مَعلمات إعداد البيانات الوصفية

تصف معلمات تهيئة البيانات الوصفية أعمدة CSV المستخدمة لتعبئة البيانات البيانات الوصفية للعنصر. إذا لم يحتوي ملف التهيئة على هذه المعلمات، استخدام القيم الافتراضية. يعرض الجدول التالي هذه المعلمات.

الإعداد المعلَمة
العنوان itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind

تشير هذه السمة إلى سمة البيانات الوصفية التي تحتوي على القيمة المطابقة لعنوان المستند. القيمة التلقائية هي سلسلة فارغة.

عنوان URL itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
سمة البيانات الوصفية التي تحتوي على قيمة عنوان URL للمستند لنتائج البحث.
الطابع الزمني الذي تمّ إنشاؤه itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17

سمة البيانات الوصفية التي تحتوي على قيمة الطابع الزمني لإنشاء المستند.

وقت آخر تعديل itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17

سمة البيانات الوصفية التي تحتوي على قيمة الطابع الزمني لآخر تعديل للمستند

لغة المستند itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US

لغة المحتوى للمستندات التي تتم فهرستها.

نوع كائن المخطط itemMetadata.objectType.field=type
itemMetadata.objectType.defaultValue=movie

نوع الكائن الذي يستخدمه الموصل، كما هو موضح في المخطط. لن يفهرس الموصِّل أي بيانات منظَّمة إذا لم يتم تحديد هذه السمة.

تنسيقات التاريخ والوقت

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

الإعداد المعلَمة
تنسيقات إضافية للتاريخ والوقت structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
قائمة مفصولة تضم فاصلة منقوطةبأنماط java.time.format.DateTimeter الإضافية. يتم استخدام الأنماط عند تحليل قيم السلسلة لأي حقول تاريخ أو وقت في البيانات الوصفية أو المخطط. تكون القيمة التلقائية هي قائمة فارغة، ولكن يمكن استخدام التنسيقين RFC 3339 وRFC 1123 دائمًا.

تنسيقات الأعمدة

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

الإعدادات المعلمة
تخطي الرأس csv.skipHeaderRecord=true

منطقي. تجاهل سجل العنوان (السطر الأول) في ملف CSV. إذا ضبطت السمة csv.csvColumns وكان ملف CSV يتضمّن صف عناوين، عليك ضبط القيمة skipHeaderRecord=true. وسيؤدي هذا إلى منع فهرسة الصف الأول في الملف على أنّه بيانات. إذا كان ملف CSV لا يحتوي على صف عنوان، اضبط skipHeaderRecord=false. القيمة التلقائية هي false.

الأعمدة متعددة القيم csv.multiValueColumns=genre,actors

أسماء الأعمدة في ملف CSV التي تحتوي على قيم متعددة. القيمة التلقائية هي سلسلة فارغة.

محدِّد للأعمدة المتعدّدة القيم csv.multiValue.genre=;

محدِّد الأعمدة المتعدّدة القيم. المحدِّد الافتراضي هو الفاصلة.

جودة البحث

يسمح موصِّل CSV في Cloud Search بتنسيق HTML التلقائي لحقول البيانات. يحدد الموصل حقول البيانات في بداية تنفيذ الموصل، ثم يستخدم قالب محتوى لتنسيق كل سجل بيانات قبل تحميله إلى Cloud Search.

يحدد نموذج المحتوى أهمية كل قيمة حقل للبحث. حقل العنوان مطلوب وتم تحديده على أنه أعلى أولوية. يمكنك تحديد مستويات أهمية جودة البحث في جميع حقول المحتوى الأخرى: مرتفع أو متوسط أو منخفض. أي حقل محتوى غير معرّف في فئة معينة القيمة الافتراضية على أولوية منخفضة. يوضّح الجدول التالي هذه المعلمات.

الإعدادات المعلمة
عنوان المحتوى contentTemplate.csv.title=movieTitle

يمثّل عنوان المحتوى أعلى حقل جودة للبحث.

جودة بحث عالية لحقول المحتوى contentTemplate.csv.quality.high=actors

حقول المحتوى التي تم تحديد قيمة عالية لجودة البحث فيها القيمة التلقائية هي سلسلة فارغة.

جودة بحث منخفضة عن حقول المحتوى contentTemplate.csv.quality.low=genre

حقول المحتوى التي تم تحديد قيمة جودة بحث منخفضة لها. القيمة التلقائية هي سلسلة فارغة.

جودة بحث متوسطة عن حقول المحتوى contentTemplate.csv.quality.medium=description

حقول المحتوى التي يتم تحديد قيمة لها لجودة بحث متوسطة القيمة التلقائية هي سلسلة فارغة.

حقول محتوى غير محدّدة contentTemplate.csv.unmappedColumnsMode=IGNORE

كيفية تعامل الموصِّل مع حقول المحتوى غير المحددة. القيم الصالحة هي:

  • APPEND: لإلحاق حقول محتوى غير محدّدة بالنموذج
  • IGNORE: تجاهل حقول المحتوى غير المحدّدة

    القيمة التلقائية هي APPEND.

8. جدولة اجتياز البيانات

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

يعمل الاجتياز الكامل على فهرسة جميع الأعمدة في الملف. لا يفهرس الاجتياز المتزايد سوى الأعمدة التي تمت إضافتها أو تعديلها منذ الاجتياز السابق. يُجري موصِّل ملف CSV عمليات اجتياز كاملة فقط. ولا يتم إجراء عمليات اجتياز متزايدة.

تحدد معلمات الجدولة عدد مرات انتظار الموصل بين واجتيازات الاختبار. إذا كان ملف الإعداد لا يحتوي على مَعلمات الجدولة، استخدام القيم الافتراضية. يوضّح الجدول التالي هذه المعلمات.

الإعدادات المعلمة
الاجتياز الكامل بعد فاصل زمني schedule.traversalIntervalSecs=7200

يُجري الموصل عملية اجتياز كاملة بعد فاصل زمني محدد. تحديد الفاصل الزمني بين عمليات الاجتياز بالثواني القيمة التلقائية هي 86400 (عدد الثواني في يوم واحد).

الاجتياز الكامل عند بدء تشغيل الموصل schedule.performTraversalOnStart=false

يُجري الموصل عملية اجتياز كاملة عند بدء تشغيل الموصل، بدلاً من الانتظار حتى انتهاء صلاحية الفاصل الزمني الأول. القيمة التلقائية هي true.

9. تحديد خيارات قائمة التحكم بالوصول (ACL)

يتيح موصل CSV في Google Cloud Search استخدام الأذونات من خلال قوائم التحكم في الوصول للتحكم في الدخول إلى محتوى ملف CSV في نتائج البحث. هناك العديد من قوائم التحكم بالوصول (ACL) خيارات متاحة للسماح لك بحماية إمكانية وصول المستخدمين إلى السجلات المفهرسة.

إذا كان المستودع يحتوي على معلومات فردية لقائمة التحكم بالوصول مرتبطة بكل مستند، تحميل جميع معلومات قائمة التحكم بالوصول (ACL) للتحكُّم في الوصول إلى المستند داخل Cloud Search. في حال حذف يوفر مستودعك معلومات جزئية أو لا توفر معلومات قائمة التحكم بالوصول، فيمكنك تقديم معلومات قائمة التحكم بالوصول (ACL) في المعلمات التالية، والتي توفرها حزمة SDK وصلة البيانات.

يعتمد الموصل على تمكين قوائم التحكم بالوصول الافتراضية في ملف التهيئة. إلى تفعيل قوائم التحكم بالوصول التلقائية، وضبط defaultAcl.mode على أي وضع بخلاف none الضبط باستخدام defaultAcl.*

الإعدادات المعلمة
وضع ACL defaultAcl.mode=fallback

مطلوب. يعتمد موصل CSV على وظيفة قائمة التحكم بالوصول (ACL) الافتراضية. لا يتوافق الموصِّل إلا مع الوضع الاحتياطي.

اسم ACL التلقائي defaultAcl.name=VIRTUAL_CONTAINER_FOR_CONNECTOR_1

اختياريّ. تسمح بتجاوز اسم الحاوية الافتراضية التي يستخدمها الموصل لإعداد قوائم التحكم في الوصول الافتراضية. القيمة التلقائية هي "DEFAULT_ACL_VIRTUAL_CONTAINER". قد تحتاج إلى إلغاء هذه القيمة إذا كانت هناك موصِّلات متعددة تفهرس المحتوى في مصدر البيانات نفسه.

ACL العلني التلقائي defaultAcl.public=true

يتم تعيين قائمة التحكم بالوصول الافتراضية المستخدمة للمستودع بأكمله إلى الوصول إلى النطاق العام. القيمة التلقائية هي false.

برامج القراءة الشائعة لمجموعة ACL defaultAcl.readers.groups=google:group1, group2
برامج قراءة ACL الشائعة defaultAcl.readers.users=user1, user2, google:user3
قراء المجموعات الذين تم رفضهم لقائمة ACL الشائعة defaultAcl.denied.groups=group3
القرّاء الذين تم رفضهم في سياسة Acl الشائعة defaultAcl.denied.users=user4, user5
الوصول الكامل إلى النطاق لتحديد إمكانية وصول كل مستخدم في النطاق إلى كل سجل مفهرس بشكل علني، عيِّن كلا الخيارين التاليين مع القيم:
  • defaultAcl.mode=fallback
  • defaultAcl.public=true
قائمة التحكم بالوصول المحددة (ACL) الشائعة لتحديد قائمة واحدة للتحكم في الوصول لكل سجل من سجلات مستودع البيانات، عيِّن جميع قيم المعلمات التالية:
  • defaultAcl.mode=fallback
  • defaultAcl.public=false
  • defaultAcl.readers.groups=google:group1, group2
  • defaultAcl.readers.users=user1, user2, google:user3
  • defaultAcl.denied.groups=group3
  • defaultAcl.denied.users=user4, user5

    يُفترض أن يكون كل مستخدم ومجموعة محدّدين مستخدمًا أو مجموعة محدّدة من خلال النطاق المحلي ما لم تكن مسبوقة بـ "google:". (الثابت الحرفي).

    المجموعة أو المستخدم التلقائيان هو سلسلة فارغة. يمكنك عرض خيارات المستخدمين والمجموعات فقط في حال ضبط defaultAcl.public على false. لإدراج عدة مجموعات ومستخدمين، استخدِم قائمة مفصولة بفواصل.

    في حال ضبط defaultAcl.mode على none، تكون السجلات غير قابلة للبحث بدون وجود قوائم ACL فردية محدَّدة.

تعريف المخطط

تتيح خدمة Cloud Search فهرسة المحتوى المنظَّم وغير المنظَّم وعرضه. لإتاحة استعلامات البيانات المنظَّمة في بياناتك، يجب إعداد المخطط لمصدر البيانات.

بعد تحديده، يمكن لموصل CSV إحالة مخطط محدّد لإنشاء طلبات الفهرسة. لتقديم مثال توضيحي، لنفكر في ملف CSV يحتوي على المعلومات حول الأفلام.

لنفترض أن ملف CSV الذي تم إدخاله يحتوي على المحتوى التالي.

  1. movieId
  2. movieTitle
  3. الوصف
  4. سنة
  5. releaseDate
  6. الجهات الفاعلة (قيم متعددة مفصولة بفواصل (,))
  7. النوع (قيم متعددة)
  8. التقييمات

بناءً على بنية البيانات أعلاه، يمكنك تحديد مخطط لمصدر بيانات ضمن الذي تريد فهرسة البيانات من ملف CSV فيه.

{
  "objectDefinitions": [
    {
      "name": "movie",
      "propertyDefinitions": [
        {
          "name": "actors",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "textPropertyOptions": {
            "operatorOptions": {
              "operatorName": "actor"
            }
          }
        },
        {
          "name": "releaseDate",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": false,
          "datePropertyOptions": {
            "operatorOptions": {
              "operatorName": "released",
              "lessThanOperatorName": "releasedbefore",
              "greaterThanOperatorName": "releasedafter"
            }
          }
        },
        {
          "name": "movieTitle",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": false,
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": "HIGHEST"
            },
            "operatorOptions": {
              "operatorName": "title"
            }
          }
        },
        {
          "name": "genre",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "enumPropertyOptions": {
            "operatorOptions": {
              "operatorName": "genre"
            },
            "possibleValues": [
              {
                "stringValue": "Action"
              },
              {
                "stringValue": "Documentary"
              },
              {
                "stringValue": "Drama"
              },
              {
                "stringValue": "Crime"
              },
              {
                "stringValue": "Sci-fi"
              }
            ]
          }
        },
        {
          "name": "userRating",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": true,
          "integerPropertyOptions": {
            "orderedRanking": "ASCENDING",
            "maximumValue": "10",
            "operatorOptions": {
              "operatorName": "score",
              "lessThanOperatorName": "scorebelow",
              "greaterThanOperatorName": "scoreabove"
            }
          }
        }
      ]
    }
  ]
}

مثال على ملف الإعداد

يعرض المثال التالي ملف الإعداد أزواج المَعلمة key=value تحدد سلوك نموذج موصل.

# data source access
api.sourceId=1234567890abcd
api.serviceAccountPrivateKeyFile=./PrivateKey.json

# CSV data structure
csv.filePath=./movie_content.csv
csv.csvColumns=movieId,movieTitle,description,releaseYear,genre,actors,ratings,releaseDate
csv.skipHeaderRecord=true
url.format=https://mymoviesite.com/movies/{0}
url.columns=movieId
csv.datetimeFormat.releaseDate=yyyy-mm-dd
csv.multiValueColumns=genre,actors
csv.multiValue.genre=;
contentTemplate.csv.title=movieTitle

# metadata structured data and content
itemMetadata.title.field=movieTitle
itemMetadata.createTime.field=releaseDate
itemMetadata.contentLanguage.defaultValue=en-US
itemMetadata.objectType.defaultValue=movie
contentTemplate.csv.quality.medium=description
contentTemplate.csv.unmappedColumnsMode=IGNORE

#ACLs
defaultAcl.mode=fallback
defaultAcl.public=true

للحصول على أوصاف تفصيلية لكل مَعلمة، يمكنك الاطّلاع على مَعلمات الإعدادات. المرجع.

تشغيل موصِّل ملف CSV في Cloud Search

لتشغيل الموصل من سطر الأوامر، اكتب الأمر التالي:

$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config

تتوفّر سجلات الموصل تلقائيًا في الإخراج العادي. يمكنك تسجيل الدخول إلى تطبيق Files من خلال تحديد logging.properties.