Cloud Search ट्यूटोरियल का यह पेज, डेटा सोर्स सेट अप करने का तरीका बताता है और कॉन्टेंट कनेक्टर का इस्तेमाल करें. इस ट्यूटोरियल की शुरुआत से शुरू करने के लिए, देखें Cloud Search को शुरू करने के बारे में ट्यूटोरियल
कनेक्टर बनाएं
अपनी वर्किंग डायरेक्ट्री को cloud-search-samples/end-to-end/connector
में बदलें
निर्देशिका खोलें और इस आदेश को चलाएं:
mvn package -DskipTests
यह कमांड, आपके कैंपेन के लिए ज़रूरी डिपेंडेंसी डाउनलोड करती है कॉन्टेंट कनेक्टर की सुविधा देता है और कोड को कंपाइल करता है.
सेवा खाते के क्रेडेंशियल बनाएं
Cloud Search को कॉल करने के लिए, कनेक्टर को सेवा खाते के क्रेडेंशियल की ज़रूरत है एपीआई. क्रेडेंशियल बनाने के लिए:
- वापस जाएं Google Cloud Console.
- बाईं ओर मौजूद नेविगेशन में, क्रेडेंशियल पर क्लिक करें. "क्रेडेंशियल" पेज दिखाई देता है.
- + क्रेडेंशियल बनाएं ड्रॉप-डाउन सूची पर क्लिक करें और चुनें सेवा खाता. "सेवा खाता बनाएं" पेज दिखाई देता है.
- सेवा खाते का नाम फ़ील्ड में, "ट्यूटोरियल" डालें.
- सेवा खाते के आईडी की वैल्यू को नोट करें (सेवा खाते के नाम के ठीक बाद). इस वैल्यू का इस्तेमाल बाद में किया जाता है.
- बनाएं पर क्लिक करें. "सेवा खाते की अनुमतियां (ज़रूरी नहीं)" डायलॉग दिखाई देता है.
- जारी रखें पर क्लिक करें. "उपयोगकर्ताओं को इस सेवा खाते का ऐक्सेस देना (ज़रूरी नहीं)" डायलॉग दिखाई देता है.
- हो गया पर क्लिक करें. "क्रेडेंशियल" स्क्रीन दिखाई देती है.
- सेवा खाते में जाकर, सेवा खाते के ईमेल पर क्लिक करें. "सेवा खाते की जानकारी" पेज दिखने में मदद करने वाले ऐप्लिकेशन.
- कुंजियों में जाकर, कुंजी जोड़ें ड्रॉप-डाउन सूची पर क्लिक करें और चुनें नई कुंजी बनाएं. "निजी पासकोड बनाएं" डायलॉग दिखाई देता है.
- बनाएं पर क्लिक करें.
- (वैकल्पिक) अगर "क्या आपको इस सुविधा को डाउनलोड करने की अनुमति देनी है console.cloud.google.com?” डायलॉग बॉक्स दिखने पर, अनुमति दें पर क्लिक करें.
- आपके कंप्यूटर पर एक निजी कुंजी फ़ाइल सेव की गई है. जगह को नोट करें . इस फ़ाइल का इस्तेमाल कॉन्टेंट कनेक्टर को कॉन्फ़िगर करने के लिए किया जाता है. वह Google Cloud Search API को कॉल करते समय खुद की पुष्टि कर सकता है.
तीसरे पक्ष से सहायता पाने की सुविधा शुरू करें
किसी अन्य Cloud Search एपीआई को कॉल करने से पहले, आपको तीसरे पक्ष के एपीआई को शुरू करना होगा में Google Cloud Search का इस्तेमाल करें.
Cloud Search के लिए तीसरे पक्ष की सहायता शुरू करने के लिए:
आपके Cloud Search प्लैटफ़ॉर्म प्रोजेक्ट में, सेवा खाते के क्रेडेंशियल शामिल हैं. हालांकि, तीसरे पक्ष से मिलने वाली सहायता को शुरू करने के लिए, आपको वेब आवेदन के क्रेडेंशियल नहीं दिए हैं. वेब ऐप्लिकेशन बनाने का तरीक़ा जानने के लिए क्रेडेंशियल देखें. इसके लिए, क्रेडेंशियल बनाएं. इस चरण को पूरा करने के बाद, आपके पास क्लाइंट आईडी और क्लाइंट सीक्रेट फ़ाइल होनी चाहिए.
इस्तेमाल की जाने वाली चीज़ें Google का OAuth 2 प्लेग्राउंड ऐक्सेस टोकन पाने के लिए:
- सेटिंग पर क्लिक करें और उपयोगकर्ता के पुष्टि करने के क्रेडेंशियल देखें.
- पहले चरण में दिया गया क्लाइंट आईडी और क्लाइंट सीक्रेट डालें.
- बंद करें पर क्लिक करें.
- स्कोप फ़ील्ड में,
https://www.googleapis.com/auth/cloud_search.settings
टाइप करें और अनुमति दें पर क्लिक करें. OAuth 2 प्लेग्राउंड, ऑथराइज़ेशन कोड दिखाता है. - टोकन के लिए ऑथराइज़ेशन कोड एक्सचेंज करें पर क्लिक करें. टोकन दिखाया जाता है.
Cloud Search के लिए तीसरे पक्ष की सहायता सेवा शुरू करने के लिए, नीचे दिए गए कर्ल का इस्तेमाल करें आदेश.
[YOUR_ACCESS_TOKEN]
को दिए गए टोकन से बदलना न भूलें चरण 2.curl --request POST \ 'https://cloudsearch.googleapis.com/v1:initializeCustomer' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{}' \ --compressed
सफल होने पर, जवाब के मुख्य भाग में
operation
. इसके लिए उदाहरण:{ name: "operations/customers/01b3fqdm/lro/AOIL6eBv7fEfiZ_hUSpm8KQDt1Mnd6dj5Ru3MXf-jri4xK6Pyb2-Lwfn8vQKg74pgxlxjrY" }
अगर ऐसा नहीं हो पाता है, तो Cloud Search की सहायता टीम से संपर्क करें.
इसकी पुष्टि करने के लिए, operations.get का इस्तेमाल करें तीसरे पक्ष की सहायता टीम से मिलने वाली सहायता को शुरू किया गया:
curl \ 'https://cloudsearch.googleapis.com/v1/operations/customers/01b3fqdm/lro/AOIL6eBv7fEfiZ_hUSpm8KQDt1Mnd6dj5Ru3MXf-jri4xK6Pyb2-Lwfn8vQKg74pgxlxjrY?key= [YOUR_API_KEY]' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Accept: application/json' \ --compressed
तीसरे पक्ष की तरफ़ से शुरू करने की प्रोसेस पूरी होने के बाद, इसमें
done
फ़ील्ड कोtrue
पर सेट किया गया. उदाहरण के लिए:{ name: "operations/customers/01b3fqdm/lro/AOIL6eBv7fEfiZ_hUSpm8KQDt1Mnd6dj5Ru3MXf-jri4xK6Pyb2-Lwfn8vQKg74pgxlxjrY" done: true }
डेटा सोर्स बनाना
इसके बाद, Admin console में डेटा सोर्स बनाएं. डेटा सोर्स कनेक्टर का इस्तेमाल करके, कॉन्टेंट को इंडेक्स करने के लिए नेमस्पेस देता है.
- Google Admin console खोलें.
- Apps आइकन पर क्लिक करें. "ऐप्लिकेशन एडमिन" पेज दिखाई देता है.
- Google Workspace पर क्लिक करें. "Apps के Google Workspace एडमिन" पेज दिखाई देता है.
- नीचे स्क्रॉल करें और Cloud Search पर क्लिक करें. "Google Workspace की सेटिंग" पेज दिखाई देता है.
- तीसरे पक्ष के डेटा सोर्स पर क्लिक करें. "डेटा सोर्स" पेज दिखाई देता है.
- गोल पीले + आइकॉन पर क्लिक करें. "नया डेटा सोर्स जोड़ें" डायलॉग दिखाई देता है.
- डिसप्ले नेम फ़ील्ड में, "ट्यूटोरियल" लिखें.
- सेवा खाते के ईमेल पते फ़ील्ड में, इनका ईमेल पता डालें पिछले सेक्शन में बनाया गया सेवा खाता. अगर आपको नहीं पता कि का ईमेल पता, उसी फ़ील्ड में यह सेवा खाते करें.
- जोड़ें पर क्लिक करें. "डेटा सोर्स बनाया गया" डायलॉग दिखाई देता है.
- *ठीक है पर क्लिक करें. नए डेटा सोर्स का सोर्स आईडी नोट करें. कॉन्टेंट बनाने सोर्स आईडी का इस्तेमाल कॉन्टेंट कनेक्टर को कॉन्फ़िगर करने के लिए किया जाता है.
GitHub API के लिए निजी ऐक्सेस टोकन जनरेट करें
कनेक्टर को ऑर्डर करने के लिए, GitHub API का पुष्टि किया गया ऐक्सेस चाहिए काफ़ी कोटा हो. सरलता के लिए, कनेक्टर व्यक्तिगत OAuth के बजाय टोकन ऐक्सेस करें. निजी टोकन इसके तौर पर पुष्टि करने की अनुमति देते हैं OAuth के जैसी सीमित अनुमतियों वाले उपयोगकर्ता का होना चाहिए.
- GitHub में लॉग इन करें.
- सबसे ऊपर दाएं कोने में, अपनी प्रोफ़ाइल फ़ोटो पर क्लिक करें. ड्रॉप-डाउन मेन्यू दिखाई देता है.
- सेटिंग पर क्लिक करें.
- डेवलपर सेटिंग पर क्लिक करें.
- निजी ऐक्सेस टोकन पर क्लिक करें.
- निजी ऐक्सेस टोकन जनरेट करें पर क्लिक करें.
- नोट फ़ील्ड में, "Cloud Search का ट्यूटोरियल" डालें.
- public_repo के दायरे की जांच करें.
- टोकन जनरेट करें पर क्लिक करें.
- जनरेट किए गए टोकन को नोट करें. कनेक्टर, GitHub को कॉल करने के लिए इसका इस्तेमाल करता है एपीआई और इंडेक्स करने के लिए एपीआई कोटा उपलब्ध कराता है.
कनेक्टर कॉन्फ़िगर करें
क्रेडेंशियल और डेटा सोर्स बनाने के बाद, कनेक्टर को अपडेट करें कॉन्फ़िगरेशन:
- कमांड लाइन से, डायरेक्ट्री को इसमें बदलें
cloud-search-samples/end-to-end/connector/
. sample-config.properties
फ़ाइल को टेक्स्ट एडिटर में खोलें.api.serviceAccountPrivateKeyFile
पैरामीटर को आपके द्वारा पहले डाउनलोड किए गए सेवा क्रेडेंशियल.api.sourceId
पैरामीटर को अपने डेटा सोर्स के आईडी पर सेट करें पूर्व में बनाया गया.- अपने GitHub उपयोगकर्ता नाम पर
github.user
पैरामीटर सेट करें. github.token
पैरामीटर को उस ऐक्सेस टोकन पर सेट करें जो आपने पहले बनाया था.- फ़ाइल सेव करें.
स्कीमा अपडेट करना
कनेक्टर, स्ट्रक्चर्ड और अनस्ट्रक्चर्ड, दोनों तरह के कॉन्टेंट को इंडेक्स करता है. इंडेक्स करने से पहले डेटा के लिए, आपको डेटा सोर्स के लिए स्कीमा अपडेट करना होगा. नीचे दिया गया निर्देश चलाएं स्कीमा अपडेट करने के लिए:
mvn exec:java -Dexec.mainClass=com.google.cloudsearch.tutorial.SchemaTool \
-Dexec.args="-Dconfig=sample-config.properties"
कनेक्टर चलाएं
कनेक्टर को चलाने और इंडेक्स करने की प्रोसेस शुरू करने के लिए, यह निर्देश चलाएं:
mvn exec:java -Dexec.mainClass=com.google.cloudsearch.tutorial.GithubConnector \
-Dexec.args="-Dconfig=sample-config.properties"
कनेक्टर का डिफ़ॉल्ट कॉन्फ़िगरेशन, किसी एक डेटा स्टोर करने की जगह को इंडेक्स करना है
googleworkspace
संगठन में. डेटा स्टोर करने की जगह को इंडेक्स करने में करीब एक मिनट लगता है.
शुरुआती इंडेक्स करने के बाद, कनेक्टर
को Cloud Search इंडेक्स में शामिल करना ज़रूरी है.
कोड की समीक्षा करना
बाकी सेक्शन, कनेक्टर बनाने के तरीके की जांच करते हैं.
ऐप्लिकेशन शुरू करना
कनेक्टर का एंट्री पॉइंट GithubConnector
क्लास है. कॉन्टेंट बनाने
main
तरीका, SDK टूल के IndexingApplication
को इंस्टैंशिएट करता है
और शुरू करता है.
ListingConnector
SDK टूल से मिले ट्रैवर्सल रणनीति को लागू करता है
जो Cloud Search की सूची का इस्तेमाल करता है
का इस्तेमाल किया जाता है. यह GithubRepository
को डेलिगेट करता है,
GitHub से कॉन्टेंट ऐक्सेस करने के लिए, सैंपल कनेक्टर की मदद से लागू किया जाता है.
GitHub डेटा स्टोर करने की जगहों पर जाना
पूरे ट्रैवर्सल के दौरान, getIds()
तरीका का इस्तेमाल उन आइटम को पुश करने के लिए किया जाता है जिन्हें सूची में इंडेक्स करने की ज़रूरत पड़ सकती है.
कनेक्टर, डेटा स्टोर करने की एक से ज़्यादा जगहों या संगठनों को इंडेक्स कर सकता है. कम करने के लिए
गड़बड़ी का असर पड़ता है, एक बार में एक GitHub रिपॉज़िटरी को ट्रैक किया जाता है. एक चेकपॉइंट
ट्रैवर्सल के परिणामों के साथ लौटाया जाता है, जिसमें निम्न की सूची शामिल होती है
डेटा स्टोर करने की जगहों को getIds()
के बाद के कॉल में इंडेक्स करना होगा. अगर कोई गड़बड़ी हुई है
ऐसा होता है, इसलिए इंडेक्स करने के बजाय, डेटा स्टोर करने की मौजूदा जगह पर इसे फिर से शुरू किया जाता है
शुरू किया है.
विधि collectRepositoryItems()
किसी एक सिंगल यूआरएल के ट्रैवर्सल को हैंडल करती है
GitHub रेपो. इस तरीके से, ApiOperations
का कलेक्शन मिलता है
पंक्ति में पुश किए जाने वाले आइटम का प्रतिनिधित्व करता है. आइटम को
संसाधन का नाम और आइटम की मौजूदा स्थिति को दिखाने वाला हैश मान.
हैश वैल्यू का इस्तेमाल GitHub के बाद के ट्रैवर्सल में किया जाता है डेटा स्टोर करने की जगहें. इस वैल्यू से इस बात की आसानी से जांच की जा सकती है कि कॉन्टेंट बिना कोई अतिरिक्त कॉन्टेंट अपलोड किए बदल गया है. बिना सोचे-समझे कनेक्टर सूची में सभी आइटम शामिल होते हैं. अगर आइटम नया है या हैश वैल्यू बदल गई है, तो यह सूची में मौजूद पोलिंग के लिए उपलब्ध है. ऐसा न होने पर, यह माना जाएगा कि आइटम में कोई बदलाव नहीं किया गया है.
सूची को प्रोसेस किया जा रहा है
पूरा ट्रैवर्सल पूरा होने के बाद, कनेक्टर
उन आइटम की सूची बनाएं जिन्हें इंडेक्स करना ज़रूरी है. getDoc()
तरीका, सूची से लिए गए हर आइटम के लिए कॉल किया जाता है. तरीका बताता है
आइटम को GitHub से लिया जाता है और उसे सही तरह से दिखाने के लिए बदल दिया जाता है
का इस्तेमाल करें.
क्योंकि कनेक्टर लाइव डेटा के लिए चल रहा है, जिसे किसी भी समय बदला जा सकता है
समय, getDoc()
यह भी पुष्टि करता है कि सूची में मौजूद आइटम अब भी मान्य है
और इंडेक्स से ऐसे सभी आइटम मिटा देता है जो अब मौजूद नहीं हैं.
हर GitHub ऑब्जेक्ट के लिए, कनेक्टर इंडेक्स करता है
indexItem()
तरीका, इसके लिए आइटम को तैयार करने का काम करता है
Cloud Search. उदाहरण के लिए, कॉन्टेंट आइटम को बेहतर तरीके से दिखाना:
इसके बाद, सर्च इंटरफ़ेस डिप्लॉय करें.