कनेक्टर SDK टूल और Google Cloud Search API की मदद से, Cloud Search बनाया जा सकता है सूची को इंडेक्स करना, ताकि ये काम किए जा सकें:
हर दस्तावेज़ की स्थिति, जैसे कि स्टेटस, हैश वैल्यू वगैरह को बनाए रखना का इस्तेमाल आपके इंडेक्स को आपकी रिपॉज़िटरी (डेटा स्टोर करने की जगह) के साथ सिंक रखने के लिए किया जाता है.
ट्रैवर्सल के दौरान खोजे जाने वाले आइटम की सूची बनाए रखना प्रोसेस.
आइटम की स्थिति के आधार पर, सूची में मौजूद आइटम को प्राथमिकता दें.
कुशल एकीकरण के लिए अतिरिक्त स्थिति की जानकारी बनाए रखना, जैसे चेकपॉइंट, टोकन बदलना वगैरह.
सूची एक लेबल है, जो इंडेक्स किए गए किसी आइटम को असाइन किया जाता है, जैसे कि "डिफ़ॉल्ट" के लिए डिफ़ॉल्ट सूची या "B" सूची B के लिए
स्थिति और प्राथमिकता
सूची में किसी दस्तावेज़ की प्राथमिकता इस आधार पर तय होती है कि
ItemStatus
कोड. ये चीज़ें हो सकती हैं
ItemStatus
कोड प्राथमिकता के क्रम में (पहले हैंडल किए जाने से आखिरी बार हैंडल किए जाने पर):
ERROR
- इंडेक्स करते समय, आइटम को एसिंक्रोनस गड़बड़ी मिली प्रोसेस होती है और उसे फिर से इंडेक्स करना पड़ता है.MODIFIED
- ऐसा आइटम जिसे पहले इंडेक्स किया गया था और उसके बाद इसमें बदलाव किया गया पिछली बार इंडेक्स होने के बाद से अब तक का रिपॉज़िटरी.NEW_ITEM
- वह आइटम जिसे इंडेक्स नहीं किया गया है.ACCEPTED
- ऐसा दस्तावेज़ जिसे पहले इंडेक्स किया गया था और जिसे इंडेक्स करने के बाद का डेटा स्टोर करने की जगह.
जब सूची में दो आइटम की स्थिति एक जैसी होती है, तो ऐसे आइटम जो सबसे लंबी समयावधि से सूची में हैं.
नए या बदले गए आइटम को इंडेक्स करने के लिए, इंडेक्स करने की सूची के इस्तेमाल के बारे में खास जानकारी
पहली इमेज में, इंडेक्स करने की सुविधा का इस्तेमाल करके नए या बदले गए आइटम को इंडेक्स करने का तरीका दिखाया गया है सूची. यह तरीका REST API कॉल दिखाता है. मिलते-जुलते SDK कॉल के लिए, यहां देखें सूची से जुड़ी कार्रवाइयां (कनेक्टर SDK टूल).
![Google Cloud Search इंडेक्स करने के बारे में खास जानकारी](https://developers-dot-devsite-v2-prod.appspot.com/static/cloud-search/images/architecture-queues-add.png?authuser=7&hl=hi)
कॉन्टेंट कनेक्टर, इनका इस्तेमाल करता है
items.push
आइटम (मेटाडेटा और हैश) को इंडेक्स करने की सूची में पुश करें, ताकि स्थिति (MODIFIED
,NEW_ITEM
,DELETED
). खास तौर पर:- पुश करते समय, कनेक्टर में साफ़ तौर पर एक पुश शामिल होता है
type
याcontentHash
. - अगर कनेक्टर में
type
शामिल नहीं है, तो Cloud Search आइटम की स्थिति का पता लगाने के लिए,contentHash
का इस्तेमाल अपने-आप किया जाता है. - अगर आइटम की जानकारी नहीं है, तो आइटम की स्थिति
NEW_ITEM
पर सेट होती है. - अगर आइटम मौजूद है और हैश वैल्यू मेल खाती हैं, तो स्टेटस
ACCEPTED
के तौर पर रखा जाता है. - अगर आइटम मौजूद है और दोनों के हैश अलग-अलग हैं, तो स्टेटस
MODIFIED
हो जाता है.
आइटम की स्थिति कैसे तय की जाती है, इस बारे में ज़्यादा जानने के लिए, GitHub डेटा स्टोर करने की जगहों को एक्सप्लोर करना सैंपल कोड Cloud Search को शुरू करने के बारे में ट्यूटोरियल.
आम तौर पर, डेटा भेजने की प्रोसेस, कॉन्टेंट ट्रैवर्सल और/या बदलाव का पता लगाने से जुड़ी होती है की प्रक्रिया में शामिल हैं.
- पुश करते समय, कनेक्टर में साफ़ तौर पर एक पुश शामिल होता है
कॉन्टेंट कनेक्टर, इनका इस्तेमाल करता है
items.poll
का इस्तेमाल करें. Cloud Search, कनेक्टर को किन आइटम को इंडेक्स करने की सबसे ज़्यादा ज़रूरत होती है. इन्हें पहले स्टेटस कोड के हिसाब से क्रम में लगाया जाता है और तय करें.कनेक्टर, रिपॉज़िटरी से इन आइटम को हासिल करता है और इंडेक्स बनाता है एपीआई अनुरोध.
कनेक्टर इनका इस्तेमाल करता है
items.index
आइटम इंडेक्स करने के लिए. आइटम, Cloud Search के बाद हीACCEPTED
स्थिति में शामिल होता है आइटम की प्रोसेसिंग पूरी कर लेता है.
अगर कोई आइटम अब रिपॉज़िटरी में मौजूद नहीं है, तो कनेक्टर उसे मिटा भी सकता है, या फिर किसी आइटम को फिर से पुश करें, अगर उसमें कोई बदलाव न किया गया हो या डेटा स्टोर करने की जगह की गड़बड़ी. आइटम मिटाने के बारे में जानकारी के लिए, अगला देखें सेक्शन में जाएं.
किसी आइटम को मिटाने के लिए, इंडेक्स करने की सूची के इस्तेमाल के बारे में खास जानकारी
कॉन्टेंट बनाने फ़ुल-ट्रैवर्सल स्ट्रेटजी आइटम इंडेक्स करने के लिए दो सूची वाली प्रोसेस का इस्तेमाल करता है और मिटने का पता लगाएं. दूसरी इमेज में, दो विकल्पों का इस्तेमाल करके किसी आइटम को मिटाने का तरीका दिखाया गया है सूची को इंडेक्स करना. खास तौर पर, इमेज 2 में दिखाया गया है कि दूसरा ट्रैवर्सल दिखाया गया है एक फ़ुल-ट्रैवर्सल रणनीति का इस्तेमाल कर रहे हैं. यह तरीका REST API कॉल का इस्तेमाल करता है. इसके लिए मिलते-जुलते SDK कॉल के लिए, सूची में कार्रवाई (कनेक्टर SDK टूल) देखें.
![Google Cloud Search इंडेक्स करने के बारे में खास जानकारी](https://developers-dot-devsite-v2-prod.appspot.com/static/cloud-search/images/architecture-queues-delete.png?authuser=7&hl=hi)
शुरुआती ट्रैवर्सल पर, कॉन्टेंट कनेक्टर इनका इस्तेमाल करता है
items.push
आइटम (मेटाडेटा और हैश) को इंडेक्स करने की सूची, "queue A" में पुश करने के लिए जैसेNEW_ITEM
, क्योंकि यह सूची में मौजूद ही नहीं है. हर आइटम को लेबल असाइन किया जाता है "क" "सूची A" के लिए कॉन्टेंट को Cloud Search में इंडेक्स किया जाता है.कॉन्टेंट कनेक्टर, इनका इस्तेमाल करता है
items.poll
पोल सूची A में, इंडेक्स किए जाने वाले आइटम तय करें. Cloud Search, कनेक्टर को किन आइटम को इंडेक्स करने की सबसे ज़्यादा ज़रूरत होती है. इन्हें पहले स्टेटस कोड के हिसाब से क्रम में लगाया जाता है और तय करें.कनेक्टर, रिपॉज़िटरी से इन आइटम को हासिल करता है और इंडेक्स बनाता है एपीआई अनुरोध.
कनेक्टर इनका इस्तेमाल करता है
items.index
आइटम इंडेक्स करने के लिए. आइटम, Cloud Search के बाद हीACCEPTED
स्थिति में शामिल होता है आइटम की प्रोसेसिंग पूरी कर लेता है.कॉन्टेंट बनाने
deleteQueueItems
तरीका "पंक्ति B" पर कॉल किया जाता है. हालांकि, सूची B में किसी भी आइटम को नहीं भेजा गया है, इसलिए कुछ भी मिटाया नहीं जा सकता.दूसरे पूरे ट्रेवर्सल पर, कॉन्टेंट कनेक्टर इनका इस्तेमाल करता है
items.push
सूची B में आइटम (मेटाडेटा और हैश) पुश करने के लिए:- पुश करते समय, कनेक्टर में साफ़ तौर पर एक पुश शामिल होता है
type
याcontentHash
. - अगर कनेक्टर में
type
शामिल नहीं है, तो Cloud Search आइटम की स्थिति का पता लगाने के लिए,contentHash
का इस्तेमाल अपने-आप किया जाता है. - अगर आइटम की जानकारी नहीं है, तो आइटम की स्थिति
NEW_ITEM
और सूची पर सेट होती है लेबल को "B" में बदल दिया गया है. - अगर आइटम मौजूद है और हैश वैल्यू मेल खाती हैं, तो स्टेटस को
ACCEPTED
के तौर पर रखा जाता है और सूची का लेबल "B" में बदल जाता है. - अगर आइटम मौजूद है और हैश में अंतर है, तो स्थिति
MODIFIED
और सूची बन जाती है लेबल को "B" में बदल दिया गया है.
- पुश करते समय, कनेक्टर में साफ़ तौर पर एक पुश शामिल होता है
कॉन्टेंट कनेक्टर, इनका इस्तेमाल करता है
items.poll
का इस्तेमाल करें. Cloud Search, कनेक्टर को किन आइटम को इंडेक्स करने की सबसे ज़्यादा ज़रूरत होती है. इन्हें पहले स्टेटस कोड के हिसाब से क्रम में लगाया जाता है और तय करें.कनेक्टर, रिपॉज़िटरी से इन आइटम को हासिल करता है और इंडेक्स बनाता है एपीआई अनुरोध.
कनेक्टर इनका इस्तेमाल करता है
items.index
आइटम इंडेक्स करने के लिए. आइटम, Cloud Search के बाद हीACCEPTED
स्थिति में शामिल होता है आइटम की प्रोसेसिंग पूरी कर लेता है.आख़िर में,
deleteQueueItems
CCloud Search पर, इंडेक्स किए गए सभी आइटम मिटाने के लिए, सूची A को अब भी "A" सूची है लेबल.बाद के पूरे ट्रेवर्सल के साथ, इंडेक्स करने के लिए इस्तेमाल की जाने वाली सूची और मिटाने के लिए इस्तेमाल की गई सूची को बदल दिया जाता है.
सूची से जुड़ी कार्रवाइयां (कनेक्टर SDK टूल)
Content Connector SDK टूल की मदद से, आइटम को पुश करने और उन्हें खींचकर छोड़ने के लिए कार्रवाइयां की जाती हैं आइटम, सूची में हैं.
किसी आइटम को पैकेज करने और सूची में पुश करने के लिए, pushItems
का इस्तेमाल करें
बिल्डर क्लास का इस्तेमाल करें.
आपको सूची से आइटम लेने के लिए कुछ भी करने की ज़रूरत नहीं है
प्रोसेस चल रही है. इसके बजाय, SDK टूल, सूची में मौजूद आइटम को प्राथमिकता के आधार पर अपने-आप ले लेता है
ऑर्डर करने के लिए,
डेटा स्टोर करने की जगह की क्लास का
getDoc
तरीका.
सूची की कार्रवाइयां (REST API)
REST API, आइटम को पुश करने और लिंक करने के लिए ये दो तरीके उपलब्ध कराता है सूची से आइटम निकालने के लिए:
- किसी आइटम को सूची में पुश करने के लिए,
Items.push
का इस्तेमाल करें. - सूची में मौजूद आइटम को पोल करने के लिए,
Items.poll
का इस्तेमाल करें.
Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए
Items.index
का इस्तेमाल करें. के दौरान सूची में पुश किए गए आइटम
कॉन्टेंट को इंडेक्स करने के लिए,
type
और उन्हें अपने-आप
ACCEPTED
.
Items.push
कॉन्टेंट बनाने
Items.push
तरीका, सूची में आईडी जोड़ता है. इस तरीके को किसी खास
type
वह वैल्यू होती है जो पुश कार्रवाई का नतीजा तय करती है. type
वैल्यू की सूची के लिए, इसे देखें
तक
Items.push में item.type
फ़ील्ड
तरीका.
नए आईडी को पुश करने से NEW_ITEM
के साथ एक नई एंट्री जुड़ जाती है
ItemStatus
कोड.
वैकल्पिक पेलोड को हमेशा सेव किया जाता है और इसे ओपेक वैल्यू के तौर पर माना जाता है और इसे वापस लौटा दिया जाता है
भेजने वाला
Items.poll
.
जब किसी आइटम का पोल किया जाता है, तो उसे रिज़र्व किया जाता है. इसका मतलब है कि उसे ऐसे उपयोगकर्ता नहीं लौटा सकते:
इसके लिए एक और कॉल
Items.poll
.
इसका इस्तेमाल किया जा रहा है
Items.push
के साथ
type
NOT_MODIFIED
, REPOSITORY_ERROR
या REQUEUE
के तौर पर, रिज़र्व नहीं होते
पोल वाली एंट्री. रिज़र्व और बिना रिज़र्व की गई एंट्री के बारे में ज़्यादा जानकारी के लिए,
इसके लिए, Items.poll सेक्शन देखें.
हैश के साथ Items.push
Google Cloud Search API, मेटाडेटा और कॉन्टेंट हैश वैल्यू तय करने की सुविधा देता है
तारीख
Items.index
अनुरोध. तय करने के बजाय
type
,
मेटाडेटा और/या कॉन्टेंट हैश वैल्यू
पुश अनुरोध की मदद से तय किया जा सकता है. Cloud Search इंडेक्स करने वाली सूची की तुलना
इसमें आइटम के साथ उपलब्ध, सेव की गई वैल्यू के साथ हैश वैल्यू दी गई हैं
डेटा सोर्स. अगर जानकारी मेल नहीं खाती है, तो उसे MODIFIED
के तौर पर मार्क किया जाता है. अगर इससे जुड़ी
इंडेक्स में आइटम मौजूद नहीं है, तो स्थिति NEW_ITEM
है.
Items.poll
Items.poll तरीका, सूची की सबसे ज़्यादा प्राथमिकता वाली एंट्री को हासिल करता है. अनुरोध किया गया और वापस दिखाई गई स्थिति की वैल्यू, अनुरोध की गई प्राथमिकता की सूची या लौटाए गए आईडी की स्थिति.
डिफ़ॉल्ट रूप से, सूची के किसी भी सेक्शन से एंट्री का डेटा लौटाया जा सकता है.
प्राथमिकता तय करें. वापस की गई हर एंट्री रिज़र्व होती है और कोई दूसरा रिटर्न नहीं करता है
इन्हें कॉल करता है:
Items.poll
यहां दिए गए मामलों में से किसी एक के पूरा होने तक:
- बुकिंग का समय खत्म हो गया है.
- एंट्री को
Items.index
ने फिर से लाइन में जोड़ दिया है. Items.push
के साथ कॉल किया जाता हैtype
NOT_MODIFIED
,REPOSITORY_ERROR
याREQUEUE
का मान.