ה-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 |