نشر موصل CSV

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

يتضمن هذا الدليل إرشادات لأداء المهام الرئيسية المتعلقة بنشر موصل CSV:

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

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

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

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

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

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

  • تم تثبيت Java JRE 1.8 على جهاز كمبيوتر يشغل موصل 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المشعوم، وتشمل تلك الطرق التي تأخذ حرفًا واحدًا أو سلسلة أو قيمة منطقية.

على سبيل المثال، لتحديد فاصلة منقوطة كمُحدِّد، استخدِم 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.DateTimeFormatter الإضافية. يتم استخدام الأنماط عند تحليل قيم السلسلة لأي حقول تاريخ أو وقت في البيانات الوصفية أو المخطط. القيمة التلقائية هي قائمة فارغة، ولكن يمكن دائمًا استخدام التنسيقَين 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 عبر واجهة Indexing API.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

قائمة التحكم بالوصول العامة التلقائية defaultAcl.public=true

يتم ضبط قائمة التحكم بالوصول (ACL) الافتراضية المستخدمة للمستودع بأكمله على الوصول إلى النطاق العام. والقيمة التلقائية هي 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، لن تكون السجلات قابلة للبحث بدون تحديد قوائم فردية محددة للتحكم في الوصول.

تعريف المخطط

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

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

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

  1. movieId
  2. movieTitle
  3. الوصف
  4. سنة
  5. releaseDate
  6. الممثلون (قيم متعددة مفصولة بفاصلة (،))
  7. genre (قيم متعددة)
  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

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