Google के दिए गए कॉन्फ़िगरेशन पैरामीटर

हर कनेक्टर की एक कॉन्फ़िगरेशन फ़ाइल होती है, जिसमें कनेक्टर की मदद से इस्तेमाल किए जाने वाले पैरामीटर होते हैं. जैसे, रिपॉज़िटरी (डेटा स्टोर करने की जगह) का आईडी. पैरामीटर को की-वैल्यू पेयर के तौर पर परिभाषित किया जाता है, जैसे कि api.sourceId=1234567890abcdef.

Google Cloud Search SDK टूल में, Google के उपलब्ध कराए गए कई कॉन्फ़िगरेशन पैरामीटर शामिल होते हैं. इन पैरामीटर का इस्तेमाल अलग-अलग कनेक्टर करते हैं. Google के उपलब्ध कराए गए कॉन्फ़िगरेशन पैरामीटर में से, आपकी कॉन्फ़िगरेशन फ़ाइल में सिर्फ़ डेटा सोर्स ऐक्सेस पैरामीटर तय करने की ज़रूरत होती है. आपको अपनी कॉन्फ़िगरेशन फ़ाइल में Google के दिए गए पैरामीटर को फिर से परिभाषित करने की ज़रूरत नहीं है जब तक कि आप उनकी डिफ़ॉल्ट वैल्यू को बदलना न चाहें.

इस रेफ़रंस में, Google के दिए गए कॉन्फ़िगरेशन पैरामीटर के बारे में बताया गया है.

कॉन्फ़िगरेशन फ़ाइल का उदाहरण

नीचे दिए गए उदाहरण में, पैरामीटर की-वैल्यू पेयर वाली आइडेंटिटी कॉन्फ़िगरेशन फ़ाइल दिखाई गई है.

#
# Configuration file sample
#
api.sourceId=1234567890abcdef
api.identitySourceId=0987654321lmnopq
api.serviceAccountPrivateKeyFile= ./PrivateKey.json

#
# Traversal schedules
#
schedule.traversalIntervalSecs=7200
schedule.incrementalTraversalIntervalSecs=600
#
# Default ACLs
#
defaultAcl.mode=fallback
defaultAcl.public=true
  

आम तौर पर सेट किए गए पैरामीटर

इस सेक्शन में, ज़रूरी और आम तौर पर सेट किए गए कॉन्फ़िगरेशन पैरामीटर की जानकारी दी गई है. हालांकि, ऐसा करना ज़रूरी नहीं है. अगर वैकल्पिक पैरामीटर की वैल्यू नहीं बदली जाती, तो कनेक्टर SDK टूल से मिली डिफ़ॉल्ट वैल्यू का इस्तेमाल करता है.

डेटा स्रोत का ऐक्सेस

इस टेबल में उन सभी पैरामीटर की सूची दी गई है जो कॉन्फ़िगरेशन फ़ाइल में दिखने के लिए ज़रूरी हैं. इस्तेमाल किए जाने वाले पैरामीटर, इस बात पर निर्भर करते हैं कि किस तरह का कनेक्टर बनाया जा रहा है (कॉन्टेंट कनेक्टर या आइडेंटिटी कनेक्टर).

सेटिंग पैरामीटर
डेटा सोर्स का आईडी api.sourceId=1234567890abcdef

यह पैरामीटर किसी कनेक्टर के लिए ज़रूरी होता है, ताकि आपके डेटा स्टोर करने की जगह की पहचान की जा सके. आपको यह वैल्यू तब मिलती है, जब आपने खोजने के लिए कोई डेटा सोर्स जोड़ा. यह पैरामीटर, कनेक्टर कॉन्फ़िगरेशन फ़ाइलों में होना चाहिए.

पहचान स्रोत आईडी api.identitySourceId=0987654321lmnopq

यह पैरामीटर आइडेंटिटी कनेक्टर की मदद से, किसी बाहरी आइडेंटिटी सोर्स की जगह की पहचान करता है. आपको यह वैल्यू तब मिली है, जब Cloud Search में उपयोगकर्ता की पहचान मैप की जाती है. यह पैरामीटर, आइडेंटिटी कनेक्टर की सभी कॉन्फ़िगरेशन फ़ाइलों में होना चाहिए.

सेवा खाते की निजी कुंजी फ़ाइल api.serviceAccountPrivateKeyFile=./PrivateKey.json

इस पैरामीटर में वह निजी कुंजी होती है जो डेटा स्टोर करने की जगह को ऐक्सेस करने के लिए ज़रूरी होती है. आपको यह वैल्यू तब मिली है, जब आपने Google Cloud Search REST API का ऐक्सेस कॉन्फ़िगर किया था. यह पैरामीटर सभी कॉन्फ़िगरेशन फ़ाइलों में होना चाहिए.

सेवा खाता आईडी api.serviceAccountId=123abcdef4567890

यह पैरामीटर, सेवा खाते का आईडी बताता है. खाली स्ट्रिंग की डिफ़ॉल्ट वैल्यू की अनुमति सिर्फ़ तब दी जा सकती है, जब कॉन्फ़िगरेशन फ़ाइल किसी निजी कुंजी फ़ाइल पैरामीटर के बारे में बताती हो. यह पैरामीटर तब ज़रूरी है, जब आपकी निजी कुंजी वाली फ़ाइल कोई JSON कुंजी नहीं है.

Google Workspace खाता आईडी api.customerId=123abcdef4567890

यह पैरामीटर, एंटरप्राइज़ के Google Workspace खाते का खाता आईडी बताता है. आपको यह वैल्यू Cloud Search में उपयोगकर्ता की पहचान मैप करने पर मिली है. आइडेंटिटी कनेक्टर का इस्तेमाल करके, उपयोगकर्ताओं को सिंक करते समय यह पैरामीटर ज़रूरी होता है.

रूट यूआरएल api.rootUrl=baseURLPath

इस पैरामीटर से, इंडेक्स करने वाली सेवा के बेस यूआरएल पाथ के बारे में पता चलता है.

इस पैरामीटर के लिए डिफ़ॉल्ट वैल्यू एक खाली स्ट्रिंग होती है, जिसे https://cloudsearch.googleapis.com में बदल दिया जाता है.

ट्रैवर्सल शेड्यूल

शेड्यूलिंग पैरामीटर से यह तय होता है कि कनेक्टर, ट्रैवर्सल के बीच कितनी बार इंतज़ार करता है.

सेटिंग पैरामीटर
कनेक्टर चालू होने पर पूरा ट्रेवर्सल schedule.performTraversalOnStart=true|false

कनेक्टर, पहले इंटरवल की समयसीमा खत्म होने का इंतज़ार करने के बजाय, कनेक्टर चालू होने पर पूरी तरह से ट्रैवर्सल परफ़ॉर्म करता है. डिफ़ॉल्ट वैल्यू true. है

किसी अंतराल के बाद पूरा ट्रेवर्सल schedule.traversalIntervalSecs=intervalInSeconds

कनेक्टर तय इंटरवल के बाद पूरा ट्रेवर्सल परफ़ॉर्म करता है. ट्रेवर्सल के बीच के इंटरवल की जानकारी सेकंड में दें. डिफ़ॉल्ट वैल्यू 86400 है (एक दिन में सेकंड की संख्या).

एक ट्रैवर्सल के बाद बाहर निकलें connector.runOnce=true|false

कनेक्टर एक बार पूरा ट्रैवर्सल चलाता है और फिर बाहर निकल जाता है. पूरी तरह से ट्रेवर्सल रणनीति का इस्तेमाल करने पर, इस पैरामीटर को सिर्फ़ true पर सेट करना चाहिए. लिस्टिंग और ग्राफ़ की रणनीतियों के लिए, बदलावों का पता लगाने और कॉन्टेंट को इंडेक्स करने के लिए एक से ज़्यादा ट्रेवर्सल की ज़रूरत होती है. डिफ़ॉल्ट वैल्यू false है (एक ट्रैवर्सल के बाद बाहर न निकलें).

किसी अंतराल के बाद इंक्रीमेंटल (बढ़ने वाला) ट्रेवर्सल schedule.incrementalTraversalIntervalSecs=intervalInSeconds

कनेक्टर तय किए गए इंटरवल के बाद, इंक्रीमेंटल ट्रैवर्सल परफ़ॉर्म करता है. ट्रैवर्सल के बीच के इंटरवल की जानकारी सेकंड में दें. डिफ़ॉल्ट वैल्यू 300 है (पांच मिनट में सेकंड की संख्या).

पोल की सूची के लिए शेड्यूल किए गए इंटरवल schedule.pollQueueIntervalSecs=interval_in_seconds

शेड्यूल किए गए पोल की सूची के इंटरवल के बीच का इंटरवल (सेकंड में). इसका इस्तेमाल सिर्फ़ लिस्टिंग ट्रैवर्सल कनेक्टर के ज़रिए किया जाता है. डिफ़ॉल्ट वैल्यू 10. है

ऐक्सेस कंट्रोल लिस्ट

कनेक्टर, ACL का इस्तेमाल करके आइटम का ऐक्सेस कंट्रोल करता है. एक से ज़्यादा पैरामीटर की मदद से, एसीएल के साथ इंडेक्स किए गए रिकॉर्ड का उपयोगकर्ता ऐक्सेस सुरक्षित रखा जा सकता है.

अगर आपके डेटा स्टोर करने की जगह में हर आइटम से जुड़ी अलग-अलग एसीएल जानकारी है, तो Cloud Search में आइटम का ऐक्सेस कंट्रोल करने के लिए ACL की सभी जानकारी अपलोड करें. अगर आपका रिपॉज़िटरी, एसीएल की जानकारी का सीमित या कोई ऐक्सेस नहीं देता है, तो नीचे दिए गए पैरामीटर में डिफ़ॉल्ट एसीएल जानकारी दी जा सकती है. यह जानकारी SDK टूल, कनेक्टर को देता है.

सेटिंग पैरामीटर
ACL मोड defaultAcl.mode=mode

तय करता है कि डिफ़ॉल्ट ACL को कब लागू करना है. मान्य मान:

  • none: डिफ़ॉल्ट ACL का इस्तेमाल न करें (इस मोड में, रिकॉर्ड तब तक खोजे नहीं जा सकते, जब तक कि आप अलग-अलग ACL तय नहीं करते)
  • fallback: डिफ़ॉल्ट ACL का इस्तेमाल सिर्फ़ तब करें, जब कोई ACL पहले से मौजूद न हो
  • append: मौजूदा ACL में डिफ़ॉल्ट ACL जोड़ें
  • override: मौजूदा ACL को डिफ़ॉल्ट ACL से बदलें

डिफ़ॉल्ट मोड none है.

डिफ़ॉल्ट सार्वजनिक ACL defaultAcl.public=true|false

पूरे रिपॉज़िटरी के लिए इस्तेमाल किया जाने वाला डिफ़ॉल्ट ACL, सार्वजनिक डोमेन ऐक्सेस पर सेट होता है. डिफ़ॉल्ट वैल्यू false. है

सामान्य ACL ग्रुप रीडर defaultAcl.readers.groups=google:group1@mydomain.com, group2
सामान्य ACL रीडर defaultAcl.readers.users=user1, user2, google:user3@mydomain.com
सामान्य ACL से अस्वीकार किए गए ग्रुप रीडर defaultAcl.denied.groups=group3
सामान्य Acl अस्वीकार किए गए पाठक defaultAcl.denied.users=user4, user5
पूरे डोमेन का ऐक्सेस यह बताने के लिए कि इंडेक्स किए गए हर रिकॉर्ड को डोमेन का हर उपयोगकर्ता सार्वजनिक तौर पर ऐक्सेस कर सके, इन दोनों पैरामीटर को वैल्यू के साथ सेट करें:
  • defaultAcl.mode=override
  • defaultACL.public=true
सामान्य परिभाषित ACL डेटा रिपॉज़िटरी के हर रिकॉर्ड के लिए एक एसीएल तय करने के लिए, नीचे दिए गए सभी पैरामीटर की वैल्यू सेट करें:
  • defaultAcl.mode=fallback
  • defaultAcl.public=false
  • defaultAcl.readers.groups=google:group1@mydomain.com, group2 code>
  • defaultAcl.readers.users=user1@mydomain.com, user2, google:user3@mydomain.com
  • defaultAcl.denied.groups=group3
  • defaultAcl.denied.users=user4, user5

    जब तक "google:" (लिटरल कॉन्सटेंट) से पहले "google:" न जोड़ा गया हो, तब तक बताए गए हर उपयोगकर्ता और ग्रुप को स्थानीय डोमेन के हिसाब से तय किया गया उपयोगकर्ता/ग्रुप माना जाता है.

    डिफ़ॉल्ट उपयोगकर्ता या ग्रुप में कोई खाली स्ट्रिंग होती है. उपयोगकर्ता और ग्रुप के पैरामीटर सिर्फ़ तब दें अगर defaultAcl.public को false पर सेट किया गया हो. एक से ज़्यादा ग्रुप और उपयोगकर्ताओं की सूची बनाने के लिए, कॉमा डिलिमिटेड सूचियों का इस्तेमाल करें.

    अगर defaultAcl.mode को none पर सेट किया जाता है, तो रिकॉर्ड को अलग-अलग ACL के बिना खोजा नहीं जा सकता.

मेटाडेटा कॉन्फ़िगरेशन के पैरामीटर

कुछ आइटम मेटाडेटा को कॉन्फ़िगर किया जा सकता है. इंडेक्स करने के दौरान कनेक्टर, कॉन्फ़िगर किए जा सकने वाले मेटाडेटा फ़ील्ड सेट कर सकते हैं. अगर कनेक्टर कोई फ़ील्ड सेट नहीं करता है, तो आपकी कॉन्फ़िगरेशन फ़ाइल में मौजूद पैरामीटर का इस्तेमाल करके, फ़ील्ड सेट किया जाता है.

कॉन्फ़िगरेशन फ़ाइल में, नाम वाले मेटाडेटा कॉन्फ़िगरेशन पैरामीटर की सीरीज़ होती है. इन्हें .field सफ़िक्स, जैसे कि itemMetadata.title.field=movieTitle से दिखाया जाता है. अगर इन पैरामीटर के लिए कोई वैल्यू है, तो इसका इस्तेमाल मेटाडेटा फ़ील्ड को कॉन्फ़िगर करने के लिए किया जाता है. अगर नाम वाले मेटाडेटा पैरामीटर के लिए कोई वैल्यू मौजूद नहीं है, तो मेटाडेटा को .defaultValue सफ़िक्स वाले पैरामीटर का इस्तेमाल करके कॉन्फ़िगर किया जाता है.

यहां दी गई टेबल में मेटाडेटा कॉन्फ़िगरेशन पैरामीटर दिखाए गए हैं.

सेटिंग पैरामीटर
टाइटल itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
आइटम का टाइटल. अगर title.field को किसी वैल्यू पर सेट नहीं किया गया है, तो title.defaultValue की वैल्यू का इस्तेमाल किया जाता है.
सोर्स रिपॉज़िटरी (डेटा स्टोर करने की जगह) का यूआरएल itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
खोज के नतीजों में इस्तेमाल किए गए आइटम का यूआरएल. ऐसा हो सकता है कि defaultValue को पूरे डेटा स्टोर करने की जगह का यूआरएल होल्ड करने के लिए सेट किया जाए. उदाहरण के लिए, ऐसा तब किया जा सकता है, जब आपके पास डेटा स्टोर करने की जगह एक CSV फ़ाइल हो और हर आइटम के लिए सिर्फ़ एक यूआरएल हो. अगर sourceRepositoryUrl.field को वैल्यू पर सेट नहीं किया गया है, तो sourceRepositoryUrl.defaultValue की वैल्यू का इस्तेमाल किया जाता है.
कंटेनर का नाम itemMetadata.containerName.field=containerName
itemMetadata.containerName.defaultValue=myDefaultContainerName
आइटम के कंटेनर का नाम, जैसे कि फ़ाइल सिस्टम डायरेक्ट्री या फ़ोल्डर का नाम. अगर containerName.field को वैल्यू पर सेट नहीं किया गया है, तो containerName.defaultValue के लिए वैल्यू का इस्तेमाल किया जाता है.
ऑब्जेक्ट का टाइप itemMetadata.objectType.field=type
itemMetadata.objectType.defaultValue=movie
कनेक्टर में इस्तेमाल किया जाने वाला ऑब्जेक्ट टाइप, जैसा कि स्कीमा में बताया गया है. अगर इस प्रॉपर्टी के बारे में नहीं बताया गया है, तो कनेक्टर किसी स्ट्रक्चर्ड डेटा को इंडेक्स नहीं करेगा.
अगर objectType.field की वैल्यू सेट नहीं की गई है, तो objectType.defaultValue की वैल्यू का इस्तेमाल किया जाता है.
खाता बनाने का समय itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
दस्तावेज़ बनाने का टाइमस्टैंप. अगर createTime.field को किसी वैल्यू पर सेट नहीं किया गया है, तो createTime.defaultValue की वैल्यू का इस्तेमाल किया जाता है.
अपडेट का समय itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
सामान में पिछली बार किए गए बदलाव का टाइमस्टैंप. अगर updateTime.field को वैल्यू पर सेट नहीं किया गया है, तो updateTime.defaultValue की वैल्यू का इस्तेमाल किया जाता है.
सामग्री भाषा itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
इंडेक्स किए जा रहे दस्तावेज़ों के कॉन्टेंट की भाषा. अगर contentLanguage.field की वैल्यू सेट नहीं की गई है, तो contentLanguage.defaultValue की वैल्यू का इस्तेमाल किया जाता है.
MIME टाइप itemMetadata.mimeType.field=mimeType
itemMetadata.mimeType.defaultValue=image/bmp
सोर्स रिपॉज़िटरी में itemContent.content का ओरिजनल MIME टाइप. इसमें ज़्यादा से ज़्यादा 256 वर्ण हो सकते हैं. अगर mimeType.field को किसी वैल्यू पर सेट नहीं किया गया है, तो mimeType.defaultValue की वैल्यू का इस्तेमाल किया जाता है.
Search की क्वालिटी से जुड़ा मेटाडेटा itemMetadata.searchQualityMetadata.quality.field=quality
itemMetadata.searchQualityMetadata.quality.defaultValue=1
आइटम की क्वालिटी से जुड़ी जानकारी. इसका इस्तेमाल, खोज की क्वालिटी पर असर डालने के लिए किया जाता है. वैल्यू, 0.0 (सबसे कम क्वालिटी) और 1.0 (सबसे अच्छी क्वालिटी) के बीच होनी चाहिए. डिफ़ॉल्ट वैल्यू 0.0 है. अगर quality.field की वैल्यू सेट नहीं की गई है, तो quality.defaultValue की वैल्यू का इस्तेमाल किया जाता है.
हैश itemMetadata.hash.field=hash
itemMetadata.hash.defaultValue=f0fda58630310a6dd91a7d8f0a4ceda2
एपीआई कॉलर से मिली हैशिंग वैल्यू. बदलाव की स्थिति का हिसाब लगाने के लिए, items.push तरीके के साथ इसका इस्तेमाल किया जा सकता है. यह ज़्यादा से ज़्यादा 2048 वर्ण का हो सकता है. अगर hash.field को किसी वैल्यू पर सेट नहीं किया गया है, तो hash.defaultValue की वैल्यू का इस्तेमाल किया जाता है.

तारीख और समय के फ़ॉर्मैट

तारीख और समय के फ़ॉर्मैट से, मेटाडेटा एट्रिब्यूट में ज़रूरी फ़ॉर्मैट के बारे में पता चलता है. अगर कॉन्फ़िगरेशन फ़ाइल में यह पैरामीटर मौजूद नहीं है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. नीचे दी गई टेबल में यह पैरामीटर दिखाया गया है.

सेटिंग पैरामीटर
तारीख और समय के दूसरे फ़ॉर्मैट structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
सेमीकोलन से अलग किए गए अतिरिक्त java.time.format.DateTimeFormatter पैटर्न की सूची. पैटर्न का इस्तेमाल मेटाडेटा या स्कीमा में किसी भी तारीख या तारीख-समय फ़ील्ड के लिए स्ट्रिंग वैल्यू को पार्स करते समय किया जाता है. डिफ़ॉल्ट वैल्यू के लिए कोई वैल्यू नहीं दी जाती. हालांकि, आरएफ़सी 3339 और आरएफ़सी 1123 फ़ॉर्मैट हमेशा इस्तेमाल किए जा सकते हैं.

स्ट्रक्चर्ड डेटा

Cloud Search इंडेक्स करने वाला एपीआई एक स्कीमा सेवा देता है. इसका इस्तेमाल करके, यह तय किया जा सकता है कि Cloud Search आपके डेटा को कैसे इंडेक्स करे और उसे कैसे दिखाए. अगर किसी स्थानीय डेटा स्टोर करने की जगह के स्कीमा का इस्तेमाल किया जा रहा है, तो आपको स्ट्रक्चर्ड डेटा के लिए स्थानीय स्कीमा का नाम बताना होगा.

सेटिंग पैरामीटर
लोकल स्कीमा का नाम structuredData.localSchema=mySchemaName

स्कीमा का नाम डेटा सोर्स से पढ़ा जाता है और उसका इस्तेमाल, रिपॉज़िटरी वाले स्ट्रक्चर्ड डेटा के लिए किया जाता है.

डिफ़ॉल्ट तौर पर, यह एक खाली स्ट्रिंग होती है.

कॉन्टेंट और खोज की क्वालिटी

डेटा स्टोर करने की जगहों में, जिनमें रिकॉर्ड या फ़ील्ड पर आधारित कॉन्टेंट होता है (जैसे कि सीआरएम, CVS या डेटाबेस), उनके लिए SDK टूल, डेटा फ़ील्ड के लिए अपने-आप एचटीएमएल फ़ॉर्मैटिंग की अनुमति देता है. आपका कनेक्टर, कनेक्टर एक्ज़ीक्यूशन की शुरुआत में डेटा फ़ील्ड के बारे में बताता है. इसके बाद, वह Cloud Search पर हर डेटा रिकॉर्ड को अपलोड करने से पहले, उसे फ़ॉर्मैट करने के लिए एक कॉन्टेंट टेंप्लेट का इस्तेमाल करता है.

कॉन्टेंट टेंप्लेट, खोज के लिए हर फ़ील्ड वैल्यू की अहमियत बताता है. एचटीएमएल <title> फ़ील्ड ज़रूरी है और इसे सबसे ज़्यादा प्राथमिकता के तौर पर बताया गया है. कॉन्टेंट के बाकी सभी फ़ील्ड के लिए, खोज की क्वालिटी की अहमियत के लेवल तय किए जा सकते हैं. जैसे, ज़्यादा, मीडियम या कम. अगर किसी कॉन्टेंट फ़ील्ड को किसी कैटगरी में तय नहीं किया गया है, तो वह डिफ़ॉल्ट रूप से 'कम प्राथमिकता' पर सेट हो जाता है.

सेटिंग पैरामीटर
कॉन्टेंट का एचटीएमएल टाइटल contentTemplate.templateName.title=myTitleField

कॉन्टेंट का एचटीएमएल टाइटल और सबसे अच्छी सर्च क्वालिटी वाला फ़ील्ड. यह पैरामीटर सिर्फ़ तब ज़रूरी होता है, जब एचटीएमएल कॉन्टेंट टेंप्लेट का इस्तेमाल किया जा रहा हो. डिफ़ॉल्ट वैल्यू, खाली स्ट्रिंग होती है.

कॉन्टेंट फ़ील्ड के लिए, खोज की बेहतर क्वालिटी contentTemplate.templateName.quality.high=hField1,hField2

कॉन्टेंट फ़ील्ड को खोज के लिए सबसे ज़्यादा प्राथमिकता दी गई. डिफ़ॉल्ट तौर पर, यह एक खाली स्ट्रिंग होती है.

कॉन्टेंट फ़ील्ड के लिए खोज की मीडियम क्वालिटी contentTemplate.templateName.quality.medium=mField1,mField2

कॉन्टेंट फ़ील्ड को खोज के लिए मध्यम प्राथमिकता दी गई. डिफ़ॉल्ट तौर पर, यह एक खाली स्ट्रिंग होती है.

कॉन्टेंट फ़ील्ड के लिए, खोज की खराब क्वालिटी contentTemplate.templateName.quality.low=lField1,lField2

कॉन्टेंट फ़ील्ड को कम खोज प्राथमिकता दी गई. डिफ़ॉल्ट तौर पर, यह एक खाली स्ट्रिंग होती है.

कॉन्टेंट के ऐसे फ़ील्ड जिनकी जानकारी नहीं है contentTemplate.templateName.unmappedColumnsMode=value

कनेक्टर ऐसे कॉन्टेंट फ़ील्ड को कैसे हैंडल करता है जिसके बारे में जानकारी नहीं है. मान्य मान हैं:

  • APPEND—टेंप्लेट में ऐसे कॉन्टेंट फ़ील्ड जोड़ें जिसके बारे में जानकारी नहीं है
  • IGNORE—ऐसे कॉन्टेंट फ़ील्ड को अनदेखा करें जिसके बारे में जानकारी नहीं दी गई है

    डिफ़ॉल्ट वैल्यू APPEND है.

एचटीएमएल टेंप्लेट में फ़ील्ड के नाम शामिल करें contentTemplate.templateName.includeFieldName=true|false

इस नीति से तय होता है कि एचटीएमएल टेंप्लेट में फ़ील्ड के डेटा के साथ फ़ील्ड के नाम शामिल करने हैं या नहीं. डिफ़ॉल्ट वैल्यू true होती है. इससे फ़ील्ड के नामों को कॉन्टेंट डेटा के हिस्से के तौर पर खोजा जा सकता है.

असामान्य तौर पर सेट पैरामीटर

इस सेक्शन में दिए गए पैरामीटर को सेट करने की ज़रूरत बहुत कम ही पड़ती है. पैरामीटर की डिफ़ॉल्ट सेटिंग, सबसे अच्छी परफ़ॉर्मेंस के लिए सेट होती हैं. Google, आपके डेटा को स्टोर करने की जगह में किसी खास शर्त के बिना, इन पैरामीटर को उनकी डिफ़ॉल्ट वैल्यू से अलग पर सेट करने का सुझाव नहीं देता.

प्रॉक्सी कॉन्फ़िगरेशन

SDK टूल की मदद से, कनेक्टर को कॉन्फ़िगर किया जा सकता है, ताकि बाहर जाने वाले कनेक्शन के लिए प्रॉक्सी का इस्तेमाल किया जा सके.

प्रॉक्सी की मदद से ट्रांसपोर्ट की सुविधा चालू करने के लिए, transport.proxy.hostname और transport.proxy.port पैरामीटर ज़रूरी हैं. अगर आपके प्रॉक्सी को पुष्टि करने की ज़रूरत है या यह एचटीटीपी के बजाय एसओसीकेएस प्रोटोकॉल पर काम करता है, तो अन्य पैरामीटर की ज़रूरत हो सकती है. अगर transport.proxy.hostname को सेट नहीं किया गया है, तो SDK टूल प्रॉक्सी का इस्तेमाल नहीं करेगा.

सेटिंग पैरामीटर
होस्टनेम transport.proxy.hostname=hostname

प्रॉक्सी सर्वर का होस्टनेम. प्रॉक्सी का इस्तेमाल करते समय यह पैरामीटर ज़रूरी है.

पोर्ट transport.proxy.port=port

प्रॉक्सी सर्वर का पोर्ट नंबर. प्रॉक्सी का इस्तेमाल करते समय यह पैरामीटर ज़रूरी है.

प्रॉक्सी का प्रकार transport.proxy.type=type

प्रॉक्सी का टाइप. मान्य मान हैं:

  • HTTP—प्रॉक्सी अनुरोध स्वीकार करता है और एचटीटीपी पर फ़ॉरवर्ड करता है.
  • SOCKS—प्रॉक्सी, SOCKS प्रोटोकॉल के तहत पैकेट स्वीकार करता है और उन्हें फ़ॉरवर्ड करता है.

डिफ़ॉल्ट वैल्यू HTTP है.

उपयोगकर्ता नाम transport.proxy.username=username

प्रॉक्सी ऑथराइज़ेशन टोकन बनाते समय इस्तेमाल किया जाने वाला उपयोगकर्ता नाम. यह पैरामीटर ज़रूरी नहीं है. इसे सिर्फ़ तब सेट किया जाना चाहिए, जब आपके प्रॉक्सी को पुष्टि करने की ज़रूरत हो.

पासवर्ड transport.proxy.password=password

प्रॉक्सी ऑथराइज़ेशन टोकन बनाते समय इस्तेमाल किया जाने वाला पासवर्ड. यह पैरामीटर ज़रूरी नहीं है. इसे सिर्फ़ तब सेट किया जाना चाहिए, जब आपके प्रॉक्सी को पुष्टि करने की ज़रूरत हो.

ट्रैवर्सर

SDK टूल की मदद से, एक से ज़्यादा अलग-अलग ट्रैवर्सर तय किए जा सकते हैं, ताकि डेटा रिपॉज़िटरी के पैरलल ट्रैवर्सल सेट किए जा सकें. SDK टूल के टेंप्लेट कनेक्टर इस सुविधा का इस्तेमाल करते हैं.

सेटिंग पैरामीटर
थ्रेड पूल का साइज़ traverse.threadPoolSize=size

साथ-साथ प्रोसेस करने के लिए, कनेक्टर की मदद से बनाए गए थ्रेड की संख्या. एक इटरेटर एक के बाद एक ऑपरेशन (आम तौर पर, RepositoryDoc ऑब्जेक्ट) को फ़ेच करता है, लेकिन एपीआई कॉल प्रोसेस को साथ-साथ कॉल करने के लिए, थ्रेड की इस संख्या का इस्तेमाल करता है.

डिफ़ॉल्ट वैल्यू 5 है.

पार्टीशन का साइज़ traverse.partitionSize=batchSize

अतिरिक्त APIOperation फ़ेच करने से पहले बैच में प्रोसेस करने के लिए, ApiOperation() की संख्या.

डिफ़ॉल्ट वैल्यू 50 है.

ट्रैवर्सर पोल के अनुरोध

Cloud Search की इंडेक्स करने की सूची का मुख्य हिस्सा प्राथमिकता वाली सूची होती है. इसमें हर उस आइटम की एंट्री होती है जिसके बारे में उसे पता होता है. लिस्टिंग कनेक्टर, इंडेक्स करने वाले एपीआई की मदद से, पोल के आइटम के लिए अनुरोध कर सकता है. पोल के अनुरोध को इंडेक्स करने की सूची से, सबसे ज़्यादा प्राथमिकता वाली एंट्री मिलती है.

पोलिंग पैरामीटर तय करने के लिए, SDK टूल लिस्टिंग कनेक्टर टेंप्लेट इन पैरामीटर का इस्तेमाल करता है.

सेटिंग पैरामीटर
रिपॉज़िटरी ट्रैवर्सर repository.traversers=t1, t2, t3, ...

एक या इससे ज़्यादा अलग-अलग ट्रैवर्सर बनाता है, जहां t1, t2, t3, ... हर एक का यूनीक नाम है. हर ट्रैवर्सर के नाम की अपनी सेटिंग होती है. इन सेटिंग की पहचान, ट्रैवर्सर के यूनीक नाम, जैसे कि traversers.t1.hostload और traversers.t2.hostload से की जाती है.

पोल की जाने वाली सूची traverser.pollRequest.queue=mySpecialQueue

इस ट्रैवर्सर पोल के नाम की सूची. डिफ़ॉल्ट तौर पर, यह खाली स्ट्रिंग होती है. इसका मतलब है, "डिफ़ॉल्ट".

traverser.t1.pollRequest.queue=mySpecialQueue

जब आपके पास एक से ज़्यादा ट्रैवर्सर हों, तो हर ट्रैवर्सर के लिए आइटम का स्टेटस सेट करें (जहां t1, खास ट्रैवर्सर को दिखाता है).

पोल का व्यवहार traverser.pollRequest.limit=maxItems

पोलिंग अनुरोध के बाद लौटाए जाने वाले आइटम की ज़्यादा से ज़्यादा संख्या. डिफ़ॉल्ट वैल्यू 0 है. यह एपीआई से ज़्यादा से ज़्यादा वैल्यू को तय करती है.

traverser.t1.pollRequest.limit=limit

जब आपके पास एक से ज़्यादा ट्रैवर्सर हों, तो हर ट्रैवर्सर के लिए आइटम का स्टेटस सेट करें (जहां t1, खास ट्रैवर्सर को दिखाता है).

आइटम की स्थिति traverser.pollRequest.statuses=statuses

इस ट्रैवर्सर पोल में, खास आइटम की ऐसी स्थितियां होती हैं जिनमें statuses, MODIFIED, NEW_ITEM (कॉमा से अलग किए गए) का कोई भी कॉम्बिनेशन हो सकता है. डिफ़ॉल्ट तौर पर, यह एक खाली स्ट्रिंग होती है. इसमें सभी स्टेटस वैल्यू लागू होती हैं.

traverser.t1.pollRequest.statuses=statusesForThisTraverser

जब आपके पास एक से ज़्यादा ट्रैवर्सर हों, तो हर ट्रैवर्सर के लिए आइटम का स्टेटस सेट करें. यहां t1, किसी खास ट्रैवर्सर को दिखाता है.

होस्ट का लोड traverser.hostload=threads

पोल कराने के लिए, चालू समानांतर थ्रेड की ज़्यादा से ज़्यादा संख्या उपलब्ध है. डिफ़ॉल्ट वैल्यू 5. है

traverser.t1.hostload=threadsForThisTraverser

जब आपके पास एक से ज़्यादा ट्रैवर्सर हों, तो हर ट्रैवर्सर के लिए आइटम का स्टेटस सेट करें. यहां t1, किसी खास ट्रैवर्सर को दिखाता है.

टाइम आउट की संख्या traverser.timeout=timeout

इस ट्रैवर्सर पोल प्रयास को बाधित करने के लिए टाइम आउट मान.

डिफ़ॉल्ट वैल्यू 60 है.

traverser.t1.timeout=timeoutForThisTraverser

जब आपके पास एक से ज़्यादा ट्रैवर्सर हों, तो हर ट्रैवर्सर के लिए आइटम का स्टेटस सेट करें. यहां t1, किसी खास ट्रैवर्सर को दिखाता है.

traverser.timeunit=timeoutUunit

टाइम आउट यूनिट. मान्य वैल्यू SECONDS, MINUTES, हैं

traverser.t1.timeunit=timeoutUnit

जब आपके पास एक से ज़्यादा ट्रैवर्सर हों, तो हर ट्रैवर्सर के लिए आइटम का स्टेटस सेट करें. यहां t1, किसी खास ट्रैवर्सर को दिखाता है.

ज़्यादातर मामलों में, SDK टूल लिस्टिंग कनेक्टर टेंप्लेट का इस्तेमाल करने वाले कनेक्टर को पोल कराने के लिए, सिर्फ़ पैरामीटर के एक सेट की ज़रूरत होती है. उदाहरण के लिए, कुछ मामलों में अगर आपके ट्रैवर्सल एल्गोरिदम को अलग-अलग सूची का इस्तेमाल करके आइटम को अलग-अलग प्रोसेस करने की ज़रूरत पड़ती है, तो आपको कुछ मामलों में पोलिंग के लिए एक से ज़्यादा शर्तें तय करनी पड़ सकती हैं.

इस मामले में, आपके पास पोलिंग पैरामीटर के कई सेट तय करने का विकल्प होगा. repository.traversers का इस्तेमाल करके पैरामीटर सेट के नाम तय करके शुरुआत करें. हर तय ट्रैवर्सर नाम के लिए, ऊपर दी गई टेबल में पैरामीटर के साथ कॉन्फ़िगरेशन फ़ाइल दें, ताकि t1 को ट्रैवर्सर नाम से बदला जा सके. इससे, तय किए गए हर ट्रैवर्सर के लिए, पोलिंग पैरामीटर का एक सेट बनता है.

चेकपॉइंट

चेकपॉइंट, इंक्रीमेंटल ट्रैवर्सल की स्थिति को ट्रैक करने के लिए फ़ायदेमंद होता है.

सेटिंग पैरामीटर
चेकपॉइंट डायरेक्ट्री connector.checkpointDirectory=/path/to/checkpoint

इंक्रीमेंटल और फ़ुल ट्रैवर्सल चेकपॉइंट के लिए इस्तेमाल किए जाने वाले लोकल डायरेक्ट्री का पाथ बताता है.

अपलोड किए गए कॉन्टेंट की संख्या

आइटम के कॉन्टेंट को Cloud Search में तब अपलोड कर दिया जाता है, जब कॉन्टेंट का साइज़ तय किए गए थ्रेशोल्ड से ज़्यादा नहीं होता है. अगर कॉन्टेंट का साइज़ तय की गई सीमा से ज़्यादा होता है, तो कॉन्टेंट को आइटम के मेटाडेटा और स्ट्रक्चर्ड डेटा से अलग अपलोड किया जाता है.

सेटिंग पैरामीटर
कॉन्टेंट थ्रेशोल्ड api.contentUploadThresholdBytes=bytes

कॉन्टेंट की वह थ्रेशोल्ड जिससे तय होता है कि उसे आइटम के साथ "इन-लाइन" अपलोड किया गया है या किसी अलग अपलोड का इस्तेमाल करने के बजाय.

डिफ़ॉल्ट वैल्यू 100000 (~100 केबी) है.

कंटेनर

पूरा कनेक्टर टेंप्लेट, एक एल्गोरिदम का इस्तेमाल करता है. इस एल्गोरिदम में, डेटाबेस में मिटाए गए रिकॉर्ड का पता लगाने के लिए, अस्थायी डेटा सोर्स की सूची टॉगल करने का कॉन्सेप्ट शामिल है. इसका मतलब यह है कि हर पूरे ट्रैवर्सल पर, फ़ेच किए गए रिकॉर्ड जो नई सूची में होते हैं, वे पिछले ट्रैवर्सल से इंडेक्स किए गए सभी मौजूदा Cloud Search रिकॉर्ड की जगह ले लेते हैं, जो एक पुरानी सूची में होते हैं.

सेटिंग पैरामीटर
कंटेनर का नाम टैग traverse.queueTag=instance

एक-दूसरे में रुकावट डाले बिना, सामान्य डेटा रिपॉज़िटरी (अलग-अलग डेटा रिपॉज़िटरी या किसी डेटा रिपॉज़िटरी के अलग-अलग हिस्सों पर) को इंडेक्स करने के साथ-साथ कनेक्टर के कई इंस्टेंस चलाने के लिए, कनेक्टर के हर रन के लिए यूनीक कंटेनर नाम टैग असाइन करें. यूनीक नाम टैग, किसी कनेक्टर इंस्टेंस को किसी दूसरे के रिकॉर्ड मिटाने से रोकता है.

नाम टैग को Full Traversal कनेक्टर टॉगल सूची आईडी के साथ जोड़ा जाता है.

मिटाने का पता लगाने की सुविधा बंद करें traverse.useQueues=true|false

इससे पता चलता है कि कनेक्टर, मिटाने का पता लगाने के लिए सूची टॉगल लॉजिक का इस्तेमाल करता है या नहीं.

डिफ़ॉल्ट वैल्यू true है, जो बताती है कि सूची का इस्तेमाल किया जाना चाहिए.

ध्यान दें: यह कॉन्फ़िगरेशन पैरामीटर सिर्फ़ FullTraversalConnector टेंप्लेट को लागू करने वाले कनेक्टर पर लागू होता है.

बैच से जुड़ी नीति

SDK टूल पर एक बैच नीति काम करती है. इसकी मदद से, ये कार्रवाइयां की जा सकती हैं:

  • बैच अनुरोध
  • बैच सूची में अनुरोधों की संख्या तय करें
  • एक साथ चलाए जा रहे बैच मैनेज करें
  • फ़्लश बैच किए गए अनुरोध

SDK टूल, अपलोड के दौरान तेज़ी से डेटा जनरेट करने की प्रोसेस के लिए, कनेक्टर के अनुरोधों को एक साथ बैच करता है. अनुरोधों के बैच को अपलोड करने के लिए, SDK टूल को ट्रिगर करने के लिए, अनुरोधों की संख्या या टाइम आउट में से जो भी पहले हो, उसके आधार पर अनुरोध किया जाता है. उदाहरण के लिए, अगर बैच का साइज़ तय किए बिना ही बैच की समयसीमा खत्म हो गई है या देरी की समयसीमा खत्म होने से पहले ही बैच साइज़ की संख्या पूरी हो जाती है, तो बैच अपलोड ट्रिगर हो जाता है.

सेटिंग पैरामीटर
बैच अनुरोध batch.batchSize=batchSize

बैच अनुरोध एक साथ. डिफ़ॉल्ट वैल्यू 10 है.

बैच सूची में अनुरोधों की संख्या batch.maxQueueLength=maxQueueLength

एक साथ कई अनुरोधों को लागू करने के लिए, सूची में मौजूद अनुरोधों की ज़्यादा से ज़्यादा संख्या. डिफ़ॉल्ट वैल्यू 1000. है

एक साथ चल रहे बैच batch.maxActiveBatches=maxActiveBatches

एक साथ चलाए जा सकने वाले बैच की संख्या. डिफ़ॉल्ट वैल्यू 20 है.

बैच में भेजे गए अनुरोध अपने-आप फ़्लश करें batch.maxBatchDelaySeconds=maxBatchDelay

कई सेकंड इंतज़ार करने के बाद ही, बैच में भेजे गए अनुरोध अपने-आप हट जाते हैं. डिफ़ॉल्ट वैल्यू 5 है.

बंद होने पर फ़्लश बैच किए गए अनुरोध batch.flushOnShutdown=true|false

सेवा बंद होने के दौरान बैच में भेजे गए अनुरोधों को फ़्लश करें. डिफ़ॉल्ट वैल्यू true है

अपवाद हैंडलर

अपवाद हैंडलर पैरामीटर यह तय करते हैं कि ट्रैवर्सर को अपवाद मिलने के बाद कैसे आगे बढ़ते हैं.

सेटिंग पैरामीटर
गड़बड़ी होने पर ट्रैवर्सर निर्देश traverse.exceptionHandler=exceptions

किसी अपवाद के लागू होने के बाद ट्रैवर्सर को कैसे आगे बढ़ना चाहिए. मान्य वैल्यू ये हैं:

  • 0--किसी अपवाद का सामना करने पर हमेशा ट्रैवर्सल को रद्द कर देता है
  • num_exceptions (उदाहरण के लिए, 10)--ट्रैवर्सर को बताए गए num_exceptions मिलने के बाद रद्द करें.

    डिफ़ॉल्ट वैल्यू 0 है (हमेशा गड़बड़ी होने पर रद्द करें).

  • ignore--गड़बड़ी को अनदेखा करें
अपवादों के बीच इंतज़ार का समय abortExceptionHander.backoffMilliSeconds=backoff

बैकऑफ़ समय, मिलीसेकंड में, ताकि हैंडलर के अपवादों के बीच इंतज़ार किया जा सके. आम तौर पर, डेटा स्टोर करने की जगह को ट्रैवर्स करते समय, इस समय का इस्तेमाल किया जाता है. डिफ़ॉल्ट वैल्यू 10 है.