ה-SDK של Google Cloud Search כולל פרמטרים להגדרה שסופקו על ידי Google לכל המחברים. שינוי ההגדרות האלה יכול לייעל את יצירת האינדקס של הנתונים. במדריך הזה מפורטות בעיות נפוצות בהוספה לאינדקס וההגדרות שצריך לשנות כדי לפתור אותן.
תפוקת אינדוקס נמוכה עבור FullTraversalConnector
בטבלה הבאה מפורטות הגדרות לשיפור קצב העברת הנתונים של FullTraversalConnector:
| הגדרה | תיאור | ברירת מחדל | השינוי שהוצע |
|---|---|---|---|
traverse.partitionSize |
מספר הפריטים ApiOperation() שעברו עיבוד באצוות. ה-SDK ממתין לסיום של מחיצה לפני שהוא מאחזר עוד נתונים. |
50 | אם יש לכם מספיק זיכרון, כדאי להגדיל את המגבלה ל-1,000 או יותר. |
batch.batchSize |
מספר הבקשות שצורפו יחד. | 10 | כדאי לנסות להקטין את גודל האצווה. |
batch.maxActiveBatches |
אצוות מקבילות מותרות. | 20 | אם מקטינים את batchSize, צריך להגדיל את הערך הזה באמצעות: (partitionSize / batchSize) + 50. |
traverse.threadPoolSize |
מספר השרשורים לעיבוד מקבילי. | 50 | אפשר להגדיל את המספר הזה בכפולות של 10. |
אפשר להשתמש ב-setRequestMode() כדי לעבור בין מצבי בקשת API ASYNCHRONOUS ו-SYNCHRONOUS.
תפוקת אינדוקס נמוכה עבור ListTraversalConnector
ListTraversalConnector משתמש ב-traverser אחד כברירת מחדל. כדי להגדיל את קצב העברת הנתונים, יוצרים כמה אובייקטים של traverser לסטטוסים ספציפיים של פריטים (לדוגמה, NEW_ITEM, MODIFIED).
| הגדרה | תיאור | ברירת מחדל | שינוי |
|---|---|---|---|
repository.traversers | יוצרת רכיבי מעבר נפרדים עם שמות ייחודיים (לדוגמה, t1, t2). | One traverser | הוספת עוד סורקים. |
traversers.t1.hostload | מספר השרשורים לאינדוקס פריטים בו-זמנית. | 5 | כדאי לנסות ערכים של 10 או יותר. |
schedule.pollQueueIntervalSecs | מספר השניות להמתנה לפני בדיקה חוזרת של תור ריק. | 10 | אפשר לנסות להקטין את הערך ל-1. |
traverser.t1.pollRequest.statuses | סטטוסים
למדד (לדוגמה, NEW_ITEM). | הכול | משתמשים ב-traversers שונים לסטטוסים שונים. |
זמנים קצובים לתפוגה או הפרעות ב-SDK
אם נתקלתם בזמן קצוב לתפוגה בהעלאה של קבצים גדולים, תוכלו להגדיל את זמן קצוב לתפוגה באמצעות traverser.timeout=seconds (ברירת המחדל היא 60 שניות). אפשר גם להגדיל את הזמן הקצוב לתפוגה של בקשות API:
| פרמטר | תיאור | ברירת מחדל |
|---|---|---|
indexingService.connectTimeoutSeconds |
זמן קצוב לתפוגה של בקשות API. | 120s |
indexingService.readTimeoutSeconds |
זמן קצוב לתפוגה (timeout) לקריאה של בקשות API. | 120s |