אתם יכולים להגדיר את 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
חובה. כוללים את כל העמודות שמשמשות לתוכן, למזהים ולרשימות ACL. |
| שאילתת מעבר מצטבר | db.incrementalUpdateSql = SELECT columns FROM table WHERE update_time > ?
חובה ללוחות זמנים מצטברים. '?' הוא placeholder חובה של חותמת זמן. |
פרמטרים של הגדרת עמודה
| הגדרה | פרמטר |
|---|---|
| כל העמודות | 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
הגדרת עמודות כאיכות גבוהה, בינונית או נמוכה. |