شما میتوانید با استفاده از رابط پایگاه داده Cloud Search، جستجوی ابری گوگل را طوری تنظیم کنید که دادهها را از پایگاههای داده سازمان شما کشف و فهرستبندی کند.
ملاحظات مهم
شما میتوانید رابط پایگاه داده Cloud Search را تقریباً در هر محیطی که برنامههای جاوا میتوانند اجرا شوند، نصب و اجرا کنید، البته تا زمانی که رابط به اینترنت و پایگاه داده دسترسی داشته باشد.
الزامات سیستم
| الزامات سیستم | |
|---|---|
| سیستم عامل | ویندوز یا لینوکس |
| پایگاه داده SQL | هر پایگاه داده SQL با درایور سازگار با JDBC 4.0 یا بالاتر، از جمله:
|
| نرمافزار | درایور JDBC (به صورت جداگانه دانلود و نصب شود) |
کانکتور را مستقر کنید
این مراحل نحوه نصب کانکتور و پیکربندی آن را برای فهرستبندی پایگاههای داده شما و بازگرداندن نتایج به کاربران جستجوی ابری شرح میدهد.
پیشنیازها
قبل از نصب کانکتور، این اطلاعات را جمعآوری کنید:
- کلید خصوصی Google Workspace (حاوی شناسه حساب سرویس). به پیکربندی دسترسی به Cloud Search API مراجعه کنید.
- شناسه منبع داده Google Workspace. به افزودن منبع داده برای جستجو مراجعه کنید.
مرحله ۱. دانلود و ساخت نرمافزار رابط پایگاه داده
مخزن کانکتور را از گیتهاب کپی کنید.
$ 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استفاده کنید.فایل زیپ کانکتور را در پوشه نصب خود استخراج کنید:
$ 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
مرحله ۲. پیکربندی رابط پایگاه داده
یک فایل متنی با نام
connector-config.properties(فایل پیشفرض) ایجاد کنید. گوگل پسوند.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برای پارامترهای خاص پایگاه داده، به مرجع پارامترهای پیکربندی مراجعه کنید. برای پارامترهای رایج، به پارامترهای اتصال ارائه شده توسط گوگل مراجعه کنید.
مرحله ۳. رابط پایگاه داده را اجرا کنید
کانکتور را از خط فرمان اجرا کنید:
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الزامی. شناسه منبع جستجوی ابری. |
| حساب کاربری خدمات | api.serviceAccountPrivateKeyFile = pathالزامی. مسیر فایل کلید حساب سرویس. |
پارامترهای دسترسی به پایگاه داده
| تنظیم | پارامتر |
|---|---|
| آدرس پایگاه داده | db.url = database-URL الزامی. مسیر کامل، مثلاً |
| مدارک تحصیلی | db.user = usernamedb.password = passwordالزامی. دسترسی خواندن برای رکوردهای مربوطه ضروری است. |
پارامترهای پرس و جوی SQL پیمایشی
این رابط از کوئریهای SQL SELECT برای پیمایش رکوردها استفاده میکند.
- پیمایش کامل : هر رکورد پیکربندیشده را میخواند. برای فهرستبندی اولیه و فهرستبندی مجدد دورهای مورد نیاز است.
- پیمایش افزایشی : فقط رکوردهای تازه تغییر یافته را میخواند. به فیلدهای مهر زمانی در پایگاه داده نیاز دارد.
| تنظیم | پارامتر |
|---|---|
| پرس و جوی پیمایش کامل | db.allRecordsSql = SELECT columns FROM tableالزامی. تمام ستونهای مورد استفاده برای محتوا، شناسهها و ACLها را وارد کنید. |
| پرس و جوی پیمایش افزایشی | 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ستونها را با کیفیت بالا، متوسط یا پایین مشخص کنید. |