פריסת מחבר CSV

המדריך הזה מיועד לקובץ CSV של Google Cloud Search (ערכים מופרדים בפסיקים) מנהלי מחברים, כלומר כל מי שאחראי להורדה, הגדרת המחבר, הרצה שלו ומעקב אחריו.

המדריך הזה כולל הוראות לביצוע משימות עיקריות שקשורות לקובץ CSV פריסת מחבר:

  • הורדת התוכנה של מחבר ה-CSV של Google Cloud Search
  • הגדרת המחבר לשימוש עם מקור נתונים ספציפי בקובץ CSV
  • פריסה והפעלה של המחבר

כדי להבין את העקרונות שבמסמך הזה, עליכם להכיר את היסודות של Google Workspace, קובצי CSV ורשימות של בקרת גישה (ACL).

סקירה כללית של מחבר ה-CSV עם Google Cloud Search

מחבר ה-CSV עם Cloud Search פועל עם כל טקסט של ערכים מופרדים בפסיקים (CSV) חדש. קובץ CSV מכיל נתונים טבלאיים, וכל שורה בקובץ היא נתונים רשומה.

מחבר ה-CSV של Google Cloud Search מחלץ שורות נפרדות מקובץ CSV, להוסיף אותם לאינדקס ב-Cloud Search באמצעות Indexing API של Cloud Search. פעם אחת נוספו לאינדקס בהצלחה, שורות בודדות מקובצי CSV ניתנות לחיפוש באמצעות הלקוחות של Cloud Search או Query API של Cloud Search. גם מחבר ה-CSV תומכת בשליטה על המשתמשים לתוכן בתוצאות החיפוש, באמצעות רשימות ACL.

ניתן להתקין את מחבר ה-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. מעתיקים את קובץ ה-ZIP של המחבר לספריית ההתקנה המקומית:

    $ 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 CSV.

ערכי הפורמט כוללים: 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 Commons CSV, וכוללות את השיטות שיש להן ערך תו, מחרוזת או ערך בוליאני יחיד.

לדוגמה, כדי לציין נקודה ופסיק כתו מפריד, אפשר להשתמש ב-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 כמפתח ייחודי שלה. ערך ברירת המחדל הוא קוד הגיבוב (hash) של הרשומה.

6. ציון העמודות שבהן רוצים להשתמש בכתובות URL של תוצאות חיפוש שניתן ללחוץ עליהן

כשמשתמש מבצע חיפוש באמצעות Google Cloud Search, הוא מגיב על ידי הצגת תוצאות שכולל כתובות URL שניתן ללחוץ עליהן לכל תוצאה. כדי להפעיל את התכונה הזו: חייבים להוסיף לקובץ התצורה את הפרמטר שמוצג בטבלה הבאה.

הגדרה פרמטר
פורמט כתובת ה-URL של תוצאת החיפוש url.format=https://mymoviesite.com/movies/{0}

חובה. הפורמט לבניית כתובת URL של תצוגה עבור תוכן CSV.

פרמטרים של כתובות אתרים בתוצאות החיפוש. url.columns=movieId

חובה. שמות העמודות בקובץ ה-CSV שהערכים שלהם ישמשו ליצירת כתובת ה-URL לתצוגה של הרשומה.

פרמטרים של כתובת אתר לציון בריחה של תוצאות חיפוש url.columnsToEscape=movieId

זה שינוי אופציונלי. שמות העמודות בקובץ ה-CSV שאת הערכים שלהם המערכת תסמן בתו מילוט (escape) כדי ליצור כתובת 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

שפת התוכן של המסמכים שנוספו לאינדקס.

סוג אובייקט Schema itemMetadata.objectType.field=type
itemMetadata.objectType.defaultValue=movie

סוג האובייקט שבו השתמש המחבר, כפי שמוגדר במקטע schema. המחבר לא יוסיף לאינדקס נתונים מובְנים אם המאפיין הזה לא צוין.

פורמטים של תאריך ושעה

הפורמטים של תאריך ושעה מציינים את הפורמטים הנדרשים במאפייני המטא-נתונים. אם קובץ התצורה לא מכיל את הפרמטר הזה, המערכת תשתמש בערכי ברירת המחדל. הפרמטר הזה מוצג בטבלה הבאה.

הגדרה פרמטר
פורמטים נוספים של תאריכים ושעות 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 – צירוף לתבנית שדות תוכן שלא צוינו
  • התעלמות – התעלמות משדות תוכן שלא צוינו

    ערך ברירת המחדל הוא APPEND.

8. תזמון מעבר נתונים

מעבר הוא התהליך של המחבר לגילוי תוכן מהנתונים המקור, במקרה הזה, קובץ CSV. בזמן שמחבר ה-CSV פועל, הוא יחצה את השורות בקובץ CSV, ולהוסיף כל שורה לאינדקס ל-Cloud Search באמצעות כלי ההוספה לאינדקס API.

יצירת אינדקסים מלאים של מעבר מוסיף את כל העמודות בקובץ. מעבר מצטבר יוצר אינדקס רק של עמודות שנוספו או שונו מאז המעבר הקודם. מחבר ה-CSV מבצע מעברים מלאים בלבד. היא לא מבצעת מעברים הדרגתיים.

הפרמטרים של התזמון קובעים באיזו תדירות המחבר ממתין בין מעברים. אם קובץ התצורה לא מכיל פרמטרים של תזמון, המערכת משתמשת בערכי ברירת מחדל. הפרמטרים האלה מוצגים בטבלה הבאה.

הגדרה פרמטר
מעבר מלא לאחר מרווח זמן schedule.traversalIntervalSecs=7200

המחבר מבצע מעבר מלא לאחר מרווח זמן שצוין. לציין את המרווח בין מעברים בשניות. ערך ברירת המחדל הוא 86400 (מספר השניות ביום).

מעבר מלא בזמן הפעלת המחבר schedule.performTraversalOnStart=false

המחבר מבצע מעבר מלא בזמן ההפעלה של המחבר, במקום להמתין עד שתוקף המרווח הראשון יפוג. ערך ברירת המחדל הוא true.

9. ציון אפשרויות של רשימת בקרת גישה (ACL)

מחבר ה-CSV של Google Cloud Search תומך בהרשאות באמצעות רשימות ACL לשליטה גישה לתוכן של קובץ ה-CSV בתוצאות החיפוש. יש מספר רשימות ACL זמינות כדי להגן על גישת המשתמשים לרשומות שנוספו לאינדקס.

אם למאגר יש פרטי ACL נפרדים שמשויכים לכל מסמך, אנחנו מעלים את כל נתוני ה-ACL כדי לשלוט בגישה למסמכים ב-Cloud Search. אם המיקום אם המאגר מספק מידע חלקי על רשימת ACL או לא מספק מידע חלקי, אפשר לספק מידע על ACL בפרמטרים הבאים, שאותם ה-SDK מספק למחבר.

המחבר מסתמך על הפעלת רשימות ACL שמשמשות כברירת מחדל בקובץ התצורה. שפת תרגום להפעיל רשימות ACL שמשמשות כברירת מחדל, להגדיר את defaultAcl.mode לכל מצב מלבד none ו צריך להגדיר אותו באמצעות defaultAcl.*

הגדרה פרמטר
מצב ACL defaultAcl.mode=fallback

חובה. מחבר ה-CSV יסתמך על פונקציונליות ברירת המחדל של ACL. המחבר תומך רק במצב חלופי.

שם ברירת המחדל של ACL defaultAcl.name=VIRTUAL_CONTAINER_FOR_CONNECTOR_1

זה שינוי אופציונלי. המדיניות הזו מאפשרת לשנות את שם המאגר הווירטואלי שמשמש את המחבר כדי להגדיר רשימות ACL שמשמשות כברירת מחדל. ערך ברירת המחדל הוא DEFAULT_ACL_VIRTUAL_CONTAINER. מומלץ לשנות את הערך הזה אם כמה מחברים מוסיפים תוכן לאינדקס באותו מקור נתונים.

ברירת המחדל של רשימת ACL ציבורית 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 מוגדרת נפוצה כדי לציין רשימת 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, אי אפשר לחפש ברשומות בלי רשימות ACL נפרדות.

הגדרת סכימה

שירות Cloud Search מאפשר הוספה לאינדקס והצגה של תוכן מובנה ולא מובנה. כדי לתמוך בשאילתות של נתונים מובְנים בנוגע לנתונים שלכם, צריך הגדרת סכימה למקור הנתונים.

לאחר הגדרתו, מחבר CSV יוכל להפנות לסכימה מוגדרת כדי לבנות בקשות להוספה לאינדקס. לצורך המחשה, נבחן קובץ CSV שמכיל מידע על 'סרטים'.

נניח שקובץ ה-CSV מכיל את התוכן הבא.

  1. movieId
  2. movieTitle
  3. תיאור
  4. שנה
  5. releaseDate
  6. שחקנים (מספר ערכים מופרדים בפסיקים (,))
  7. ז'אנר (ערכים מרובים)
  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.