Google Cloud Search SDK में, सभी कनेक्टर के लिए Google की ओर से दिए गए कॉन्फ़िगरेशन पैरामीटर शामिल होते हैं. इन सेटिंग को ऑप्टिमाइज़ करने से, डेटा इंडेक्सिंग की प्रोसेस को बेहतर बनाया जा सकता है. इस गाइड में, इंडेक्सिंग से जुड़ी आम समस्याओं और उन्हें हल करने के लिए सेटिंग के बारे में बताया गया है.
FullTraversalConnector के लिए, इंडेक्सिंग थ्रूपुट कम होना
यहां दी गई टेबल में,
FullTraversalConnector के थ्रूपुट को बेहतर बनाने के लिए सेटिंग दी गई हैं:
| सेटिंग | ब्यौरा | डिफ़ॉल्ट | सुझाया गया बदलाव |
|---|---|---|---|
traverse.partitionSize |
बैच में प्रोसेस किए गए ApiOperation() आइटम की संख्या. एसडीके, ज़्यादा आइटम फ़ेच करने से पहले, पार्टीशन के पूरा होने का इंतज़ार करता है. |
50 | अगर आपके पास पर्याप्त मेमोरी है, तो इसे बढ़ाकर 1,000 या उससे ज़्यादा करें. |
batch.batchSize |
एक साथ बैच किए गए अनुरोधों की संख्या. | 10 | बैच का साइज़ कम करके देखें. |
batch.maxActiveBatches |
एक साथ प्रोसेस किए जा सकने वाले बैच की संख्या. | 20 | अगर batchSize को कम किया जाता है, तो इसे इस फ़ॉर्मूले का इस्तेमाल करके बढ़ाएं: (partitionSize / batchSize) + 50. |
traverse.threadPoolSize |
पैरलल प्रोसेसिंग के लिए थ्रेड की संख्या. | 50 | इसे 10 के मल्टीपल में बढ़ाएं. |
ASYNCHRONOUS और
SYNCHRONOUS एपीआई अनुरोध मोड के बीच स्विच करने के लिए, setRequestMode() का इस्तेमाल करें.
ListTraversalConnector के लिए, इंडेक्सिंग थ्रूपुट कम होना
ListTraversalConnector डिफ़ॉल्ट रूप से एक ट्रैवर्सर का इस्तेमाल करता है. थ्रूपुट बढ़ाने के लिए, आइटम के खास स्टेटस के लिए एक से ज़्यादा ट्रैवर्सर बनाएं. जैसे, NEW_ITEM, MODIFIED.
| सेटिंग | ब्यौरा | डिफ़ॉल्ट | बदलाव |
|---|---|---|---|
repository.traversers | अलग-अलग नामों वाले ट्रैवर्सर बनाता है. जैसे, t1, t2. | एक ट्रैवर्सर | ज़्यादा ट्रैवर्सर जोड़ें. |
traversers.t1.hostload | एक साथ आइटम इंडेक्स करने के लिए थ्रेड की संख्या. | 5 | 10 या उससे ज़्यादा वैल्यू का इस्तेमाल करें. |
schedule.pollQueueIntervalSecs | खाली क्यू को फिर से पोल करने से पहले इंतज़ार करने के लिए सेकंड में वैल्यू. | 10 | इसे कम करके 1 करें. |
traverser.t1.pollRequest.statuses | इंडेक्स करने के लिए स्टेटस
. जैसे, NEW_ITEM. | सभी | अलग-अलग स्टेटस के लिए अलग-अलग ट्रैवर्सर का इस्तेमाल करें. |
एसडीके के टाइम आउट या इंटरप्ट होने की समस्या
अगर बड़ी फ़ाइलें अपलोड करते समय टाइम आउट की समस्या आ रही है, तो टाइम आउट बढ़ाएं
का इस्तेमाल करके traverser.timeout=seconds
डिफ़ॉल्ट रूप से, यह 60 सेकंड होता है. एपीआई अनुरोधों के लिए टाइम आउट भी बढ़ाया जा सकता है:
| पैरामीटर | ब्यौरा | डिफ़ॉल्ट |
|---|---|---|
indexingService.connectTimeoutSeconds |
एपीआई अनुरोधों के लिए कनेक्ट होने का टाइम आउट. | 120 सेकंड |
indexingService.readTimeoutSeconds |
एपीआई अनुरोधों के लिए रीड होने का टाइम आउट. | 120 सेकंड |