نشر موصِّل قاعدة بيانات

يمكنك إعداد Google Cloud Search لاكتشاف البيانات وفهرستها من قواعد بيانات مؤسستك باستخدام موصّل قاعدة بيانات Cloud Search.

اعتبارات مهمة

يمكنك تثبيت موصِّل قاعدة بيانات Cloud Search وتشغيله في أي بيئة تقريبًا يمكن تشغيل تطبيقات Java فيها، طالما أنّ الموصِّل يمكنه الوصول إلى كل من الإنترنت وقاعدة البيانات.

متطلبات النظام

متطلبات النظام
نظام التشغيل Windows أو Linux
قاعدة بيانات SQL أي قاعدة بيانات SQL تتضمّن برنامج تشغيل متوافقًا مع JDBC 4.0 أو إصدار أحدث، بما في ذلك:
  • خادم MS SQL (الإصدارات 2008 و2012 و2014 و2016)
  • Oracle (11g, 12c)
  • Google Cloud SQL
  • MySQL
البرامج برنامج تشغيل JDBC (يتم تنزيله وتثبيته بشكل منفصل)

نشر الموصّل

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

المتطلبات الأساسية

قبل نشر الموصل، يُرجى جمع المعلومات التالية:

الخطوة 1: تنزيل برنامج موصّل قاعدة البيانات وإنشاؤه

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

    $ git clone https://github.com/google-cloudsearch/database-connector.git
    $ cd database-connector

  2. اطّلِع على الإصدار الذي اخترته:

    $ git checkout tags/v1-0.0.3

  3. إنشاء الموصّل:

    $ mvn package
    لتخطّي الاختبارات، استخدِم mvn package -DskipTests.

  4. استخرِج ملف ZIP الخاص بالموصل إلى دليل التثبيت:

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

الخطوة 2: ضبط موصّل قاعدة البيانات

  1. أنشئ ملفًا نصيًا باسم connector-config.properties (الاسم التلقائي). تنصح Google باستخدام الإضافة .properties أو .config. احتفظ به في الدليل نفسه الذي يحتوي على الموصّل.

  2. أضِف المَعلمات كأزواج مفتاح/قيمة. يجب أن يحدّد الملف إذن الوصول إلى مصدر البيانات وإذن الوصول إلى قاعدة البيانات وعبارة SQL كاملة للتصفّح وعنوان حقل المحتوى وتعريفات الأعمدة.

    # Data source access
    api.sourceId=1234567890abcdef
    api.identitySourceId=0987654321lmnopq
    api.serviceAccountPrivateKeyFile=./PrivateKey.json
    
    # Database access
    db.url=jdbc:mysql://localhost:3306/mysql_test
    db.user=root
    db.password=passw0rd
    
    # Full traversal SQL statement
    db.allRecordsSql=select customer_id, first_name, last_name, phone from address_book
    
    # Column definitions and URL format
    db.allColumns=customer_id, first_name, last_name, phone
    db.uniqueKeyColumns=customer_id
    url.columns=customer_id
    
    # Content field
    contentTemplate.db.title=customer_id
    
    # Optional: ACLs
    defaultAcl.mode=fallback
    defaultAcl.public=true
    
    # Optional: traversal schedule
    schedule.traversalIntervalSecs=36000
    schedule.performTraversalOnStart=true
    

    للاطّلاع على المَعلمات الخاصة بقاعدة البيانات، يُرجى الرجوع إلى مرجع مَعلمات الإعداد. للاطّلاع على المَعلمات الشائعة، يُرجى الرجوع إلى مَعلمات الموصل التي توفّرها Google.

الخطوة 3: تشغيل موصّل قاعدة البيانات

شغِّل الموصّل من سطر الأوامر:

java
   -cp "google-cloudsearch-database-connector-v1-0.0.3.jar:mysql-connector-java-5.1.41-bin.jar"
   com.google.enterprise.cloudsearch.database.DatabaseFullTraversalConnector
   [-Dconfig=mysql.config]

يُبلغ الموصل عن أخطاء الإعداد والتهيئة. تظهر أخطاء أخرى، مثل بنية SQL غير صالحة، عندما يحاول الموصل الوصول إلى قاعدة البيانات للمرة الأولى.

مرجع مَعلمات الإعداد

يسرد هذا القسم المَعلمات المستخدَمة في ملف إعداد أداة ربط قاعدة البيانات.

مَعلمات الوصول إلى مصدر البيانات

الإعداد المَعلمة
رقم تعريف مصدر البيانات api.sourceId = source-ID

الحقل مطلوب. رقم تعريف مصدر Cloud Search

حساب الخدمة api.serviceAccountPrivateKeyFile = path

الحقل مطلوب. مسار ملف مفتاح حساب الخدمة

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

الإعداد المَعلمة
عنوان URL لقاعدة البيانات db.url = database-URL

الحقل مطلوب. المسار الكامل، مثلاً jdbc:mysql://127.0.0.1/dbname.

بيانات الاعتماد db.user = username
db.password = password

الحقل مطلوب. يجب منح إذن القراءة للسجلات ذات الصلة.

معلمات طلب بحث SQL للتنقّل

يستخدم الموصل استعلامات SQL SELECT لتصفّح السجلات.

  • التصفّح الكامل: يقرأ كل سجلّ تم إعداده. هذا الحقل مطلوب للفهرسة الأولية وإعادة الفهرسة الدورية.
  • التصفّح التدريجي: يقرأ هذا النوع السجلات التي تم تعديلها مؤخرًا فقط. يتطلّب حقول طوابع زمنية في قاعدة البيانات.
الإعداد المَعلمة
طلب بحث عن جميع العناصر db.allRecordsSql = SELECT columns FROM table

الحقل مطلوب. أدرِج جميع الأعمدة المستخدَمة للمحتوى وأرقام التعريف وقوائم التحكم بالوصول.

طلب بحث متزايد db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?

هذا الحقل مطلوب للجداول الزمنية المتزايدة. علامة الاستفهام "؟" هي عنصر نائب إلزامي للطابع الزمني.

مَعلمات تعريف العمود

الإعداد المَعلمة
كل الأعمدة db.allColumns = column-1, column-2, ...

الحقل مطلوب. تعرض هذه السمة جميع الأعمدة المُشار إليها في طلبات بحث SQL.

أعمدة المفتاح الفريد db.uniqueKeyColumns = column-1

الحقل مطلوب. تحدّد هذه السمة المعرّف الفريد لكل سجلّ.

عمود رابط عنوان URL url.columns = column-1

الحقل مطلوب. تحدّد هذه السمة العمود المستخدَم لنتائج البحث القابلة للنقر.

حقول المحتوى

الإعداد المَعلمة
عمود العنوان contentTemplate.db.title = column-name

الحقل مطلوب. أولوية قصوى لفهرسة المحتوى على محرك البحث

تحديد الأولويات contentTemplate.db.quality.high = column-1

تصنيف الأعمدة على أنّها عالية الجودة أو متوسطة الجودة أو منخفضة الجودة