يمكنك إعداد Google Cloud Search لاكتشاف البيانات وفهرستها من قواعد بيانات مؤسستك باستخدام موصّل قاعدة بيانات Cloud Search.
اعتبارات مهمة
يمكنك تثبيت موصِّل قاعدة بيانات Cloud Search وتشغيله في أي بيئة تقريبًا يمكن تشغيل تطبيقات Java فيها، طالما أنّ الموصِّل يمكنه الوصول إلى كل من الإنترنت وقاعدة البيانات.
متطلبات النظام
| متطلبات النظام | |
|---|---|
| نظام التشغيل | Windows أو Linux |
| قاعدة بيانات SQL | أي قاعدة بيانات SQL تتضمّن برنامج تشغيل متوافقًا مع JDBC 4.0 أو إصدار أحدث، بما في ذلك:
|
| البرامج | برنامج تشغيل JDBC (يتم تنزيله وتثبيته بشكل منفصل) |
نشر الموصّل
توضّح هذه الخطوات كيفية تثبيت الموصّل وإعداده لفهرسة قواعد البيانات وعرض النتائج لمستخدمي Cloud Search.
المتطلبات الأساسية
قبل نشر الموصل، يُرجى جمع المعلومات التالية:
- المفتاح الخاص لحساب Google Workspace (الذي يحتوي على معرّف حساب الخدمة) يمكنك الاطّلاع على ضبط أذونات الوصول إلى Cloud Search API.
- معرّف مصدر بيانات Google Workspace اطّلِع على إضافة مصدر بيانات إلى البحث.
الخطوة 1: تنزيل برنامج موصّل قاعدة البيانات وإنشاؤه
استنسِخ مستودع الموصل من GitHub.
$ git clone https://github.com/google-cloudsearch/database-connector.git $ cd database-connector
اطّلِع على الإصدار الذي اخترته:
$ git checkout tags/v1-0.0.3
إنشاء الموصّل:
لتخطّي الاختبارات، استخدِم$ mvn package
mvn package -DskipTests.استخرِج ملف 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: ضبط موصّل قاعدة البيانات
أنشئ ملفًا نصيًا باسم
connector-config.properties(الاسم التلقائي). تنصح Google باستخدام الإضافة.propertiesأو.config. احتفظ به في الدليل نفسه الذي يحتوي على الموصّل.أضِف المَعلمات كأزواج مفتاح/قيمة. يجب أن يحدّد الملف إذن الوصول إلى مصدر البيانات وإذن الوصول إلى قاعدة البيانات وعبارة 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
الحقل مطلوب. المسار الكامل، مثلاً |
| بيانات الاعتماد | db.user = usernamedb.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
تصنيف الأعمدة على أنّها عالية الجودة أو متوسطة الجودة أو منخفضة الجودة |