यह गाइड, Google Cloud Search के Norconex HTTP कलेक्टर इंडेक्सर प्लग इन के एडमिन के लिए है. इसका मतलब है कि यह गाइड उन सभी लोगों के लिए है जिनकी ज़िम्मेदारी इंडेक्सर प्लग इन को डाउनलोड करना, डिप्लॉय करना, कॉन्फ़िगर करना, और उसे मैनेज करना है. इस गाइड में यह माना गया है कि आपको Linux ऑपरेटिंग सिस्टम, वेब क्रॉल करने के बुनियादी तरीकों, एक्सएमएल, और Norconex एचटीटीपी कलेक्टर के बारे में पता है.
इस गाइड में, इंडेक्सर प्लग इन को डिप्लॉय करने से जुड़े मुख्य टास्क करने के लिए निर्देश शामिल हैं:
- इंडेक्सर प्लग इन सॉफ़्टवेयर डाउनलोड करना
- Google Cloud Search को कॉन्फ़िगर करना
- Norconex एचटीटीपी कलेक्टर और वेब क्रॉलिंग को कॉन्फ़िगर करना
- वेब क्रॉल शुरू करना और कॉन्टेंट अपलोड करना
इस गाइड में, उन टास्क के बारे में जानकारी नहीं दी गई है जिन्हें Google Workspace एडमिन को Google Cloud Search को Norconex एचटीटीपी कलेक्टर इंडेक्सर प्लग इन से मैप करने के लिए करने होंगे. इन टास्क के बारे में जानने के लिए, तीसरे पक्ष के डेटा सोर्स मैनेज करना लेख पढ़ें.
Cloud Search के Norconex एचटीटीपी कलेक्टर इंडेक्सर प्लग इन के बारे में खास जानकारी
डिफ़ॉल्ट रूप से, Cloud Search, Google Docs और Gmail जैसे Google Workspace प्रॉडक्ट से कॉन्टेंट ढूंढ सकता है, उसे इंडेक्स कर सकता है, और उसे दिखा सकता है. Norconex एचटीटीपी कलेक्टर के लिए इंडेक्सर प्लग इन को डिप्लॉय करके, Google Cloud Search की पहुंच को बढ़ाया जा सकता है. यह एक ओपन सोर्स एंटरप्राइज़ वेब क्रॉलर है. इससे, अपने उपयोगकर्ताओं को वेब कॉन्टेंट दिखाया जा सकता है.
कॉन्फ़िगरेशन प्रॉपर्टी फ़ाइलें
इंडेक्सर प्लग इन को वेब क्रॉल करने और इंडेक्सिंग एपीआई पर कॉन्टेंट अपलोड करने की सुविधा देने के लिए, इंडेक्सर प्लग इन के एडमिन के तौर पर, आपको इस दस्तावेज़ में डिप्लॉयमेंट के चरणों में बताए गए कॉन्फ़िगरेशन के चरणों के दौरान खास जानकारी देनी होगी.
इंडेक्सर प्लग इन का इस्तेमाल करने के लिए, आपको दो कॉन्फ़िगरेशन फ़ाइलों में प्रॉपर्टी सेट करनी होंगी:
{gcs-crawl-config.xml}
-- इसमें Norconex एचटीटीपी कलेक्टर की सेटिंग शामिल हैं.sdk-configuration.properties
-- इसमें Google Cloud Search की सेटिंग शामिल हैं.
हर फ़ाइल में मौजूद प्रॉपर्टी, Google Cloud Search इंडेक्सर प्लग इन और Norconex एचटीटीपी कलेक्टर को एक-दूसरे के साथ कम्यूनिकेट करने की सुविधा देती हैं.
वेब क्रॉल और कॉन्टेंट अपलोड
कॉन्फ़िगरेशन फ़ाइलों में जानकारी भरने के बाद, आपके पास वेब क्रॉल शुरू करने के लिए ज़रूरी सेटिंग होंगी. Norconex एचटीटीपी कलेक्टर, वेब को क्रॉल करता है और अपने कॉन्फ़िगरेशन से जुड़ा दस्तावेज़ कॉन्टेंट ढूंढता है. साथ ही, दस्तावेज़ कॉन्टेंट के ओरिजनल बाइनरी (या टेक्स्ट) वर्शन को Cloud Search इंडेक्सिंग एपीआई पर अपलोड करता है. वहां इसे इंडेक्स किया जाता है और आखिर में, आपके उपयोगकर्ताओं को दिखाया जाता है.
यह सुविधा किस ऑपरेटिंग सिस्टम पर काम करती है
Google Cloud Search Norconex एचटीटीपी कलेक्टर इंडेक्सर प्लग इन, Linux पर इंस्टॉल होना चाहिए.
Norconex एचटीटीपी कलेक्टर का इस्तेमाल किया जा सकने वाला वर्शन
Google Cloud Search Norconex एचटीटीपी कलेक्टर इंडेक्सर प्लग इन, 2.8.0 वर्शन के साथ काम करता है.
एसीएल के लिए सहायता
इंडेक्सर प्लग इन, ऐक्सेस कंट्रोल सूचियों (एसीएल) का इस्तेमाल करके, Google Workspace डोमेन में दस्तावेज़ों का ऐक्सेस कंट्रोल करने की सुविधा देता है.
अगर Google Cloud Search प्लग इन कॉन्फ़िगरेशन में डिफ़ॉल्ट एसीएल चालू हैं (defaultAcl.mode
को none
के अलावा किसी और पर सेट किया गया है और defaultAcl.*
के साथ कॉन्फ़िगर किया गया है), तो इंडेक्सर प्लग इन सबसे पहले डिफ़ॉल्ट एसीएल बनाने और उसे लागू करने की कोशिश करता है.
अगर डिफ़ॉल्ट एसीएल चालू नहीं हैं, तो प्लग इन पूरे Google Workspace डोमेन को पढ़ने की अनुमति देता है.
एसीएल कॉन्फ़िगरेशन पैरामीटर के बारे में ज़्यादा जानकारी के लिए, Google के दिए गए कनेक्टर पैरामीटर देखें.
ज़रूरी शर्तें
इंडेक्सर प्लग इन को डिप्लॉय करने से पहले, पक्का करें कि आपके पास ये ज़रूरी कॉम्पोनेंट हों:
- इंडेक्सर प्लग इन चलाने वाले कंप्यूटर पर Java JRE 1.8 इंस्टॉल होना चाहिए
Cloud Search और Norconex एचटीटीपी कलेक्टर के बीच संबंध बनाने के लिए, Google Workspace की ज़रूरी जानकारी:
- Google Workspace की निजी कुंजी (इसमें सेवा खाता आईडी शामिल होता है)
- Google Workspace का डेटा सोर्स आईडी
आम तौर पर, डोमेन के Google Workspace एडमिन के पास आपके लिए ये क्रेडेंशियल उपलब्ध कराने का विकल्प होता है.
डिप्लॉयमेंट का तरीका
इंडेक्सर प्लग इन को डिप्लॉय करने के लिए, यह तरीका अपनाएं:
- Norconex एचटीटीपी कलेक्टर और इंडेक्सर प्लग इन सॉफ़्टवेयर इंस्टॉल करना
- Google Cloud Search को कॉन्फ़िगर करना
- Norconex एचटीटीपी कलेक्टर को कॉन्फ़िगर करना
- वेब क्रॉल कॉन्फ़िगर करना
- वेब क्रॉल और कॉन्टेंट अपलोड करना शुरू करना
पहला चरण: Norconex HTTP कलेक्टर और इंडेक्सर प्लग इन सॉफ़्टवेयर इंस्टॉल करना
- इस पेज से Norconex commiter सॉफ़्टवेयर डाउनलोड करें.
- डाउनलोड किए गए सॉफ़्टवेयर को
~/norconex/
फ़ोल्डर में अनज़िप करें - GitHub से commiter प्लग इन को क्लोन करें.
git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git
और फिरcd norconex-committer-plugin
- कमिटर प्लग इन का मनपसंद वर्शन चुनें और ZIP फ़ाइल बनाएं:
git checkout tags/v1-0.0.3
औरmvn package
(कनेक्टर बनाते समय जांच को छोड़ने के लिए,mvn package -DskipTests
का इस्तेमाल करें.) cd target
- बने हुए प्लग इन की jar फ़ाइल को norconex lib डायरेक्ट्री में कॉपी करें.
cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
- अभी बनाई गई ZIP फ़ाइल को निकालें. इसके बाद, फ़ाइल को अनज़िप करें:
unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
- प्लग इन के .jar और सभी ज़रूरी लाइब्रेरी को http कलेक्टर की डायरेक्ट्री में कॉपी करने के लिए, इंस्टॉल स्क्रिप्ट को चलाएं:
- ऊपर दिए गए अनज़िप किए गए, निकाले गए कमिटर प्लगिन में बदलें:
cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
$ sh install.sh
को चलाएं और जब कहा जाए, तब टारगेट डायरेक्ट्री के तौर परnorconex/norconex-collector-http-{version}/lib
का पूरा पाथ दें.- अगर डुप्लीकेट jar फ़ाइलें मिलती हैं, तो
1
विकल्प चुनें (सिर्फ़ तब सोर्स jar कॉपी करें, जब टारगेट jar का नाम बदलने के बाद, उसका वर्शन टारगेट jar के वर्शन से ज़्यादा या उसके बराबर हो).
- ऊपर दिए गए अनज़िप किए गए, निकाले गए कमिटर प्लगिन में बदलें:
दूसरा चरण: Google Cloud Search को कॉन्फ़िगर करना
इंडेक्सर प्लग इन को Norconex HTTP कलेक्टर से कनेक्ट करने और काम के कॉन्टेंट को इंडेक्स करने के लिए, आपको Norconex डायरेक्ट्री में Cloud Search कॉन्फ़िगरेशन फ़ाइल बनानी होगी. यह डायरेक्ट्री वही है जहां Norconex HTTP कलेक्टर इंस्टॉल किया गया है. Google का सुझाव है कि आप Cloud Search कॉन्फ़िगरेशन फ़ाइल का नाम sdk-configuration.properties
रखें.
इस कॉन्फ़िगरेशन फ़ाइल में, की/वैल्यू पेयर होने चाहिए, जो किसी पैरामीटर को तय करते हैं. कॉन्फ़िगरेशन फ़ाइल में कम से कम ये पैरामीटर होने चाहिए, जो Cloud Search के डेटा सोर्स को ऐक्सेस करने के लिए ज़रूरी हैं.
सेटिंग | पैरामीटर |
डेटा सोर्स आईडी | api.sourceId = 1234567890abcdef
ज़रूरी है. Google Workspace एडमिन ने सेट अप किया हुआ Cloud Search सोर्स आईडी. |
सेवा खाता | api.serviceAccountPrivateKeyFile = ./PrivateKey.json
ज़रूरी है. Cloud Search के सेवा खाते की वह कुंजी फ़ाइल जिसे Google Workspace एडमिन ने इंडेक्सर प्लग इन को ऐक्सेस करने के लिए बनाया था. |
यहां दिए गए उदाहरण में sdk-configuration.properties
फ़ाइल दिखाई गई है.
#
# data source access
api.sourceId=1234567890abcdef
api.serviceAccountPrivateKeyFile=./PrivateKey.json
#
कॉन्फ़िगरेशन फ़ाइल में, Google के दिए गए कॉन्फ़िगरेशन पैरामीटर भी शामिल हो सकते हैं.
इन पैरामीटर से इस बात पर असर पड़ सकता है कि यह प्लग इन, Google Cloud Search API में डेटा कैसे डालता है. उदाहरण के लिए, पैरामीटर का batch.*
सेट यह बताता है कि कनेक्टर, अनुरोधों को कैसे जोड़ता है.
अगर आपने कॉन्फ़िगरेशन फ़ाइल में कोई पैरामीटर तय नहीं किया है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. हालांकि, ऐसा तब ही किया जाता है, जब डिफ़ॉल्ट वैल्यू उपलब्ध हो. हर पैरामीटर के बारे में ज़्यादा जानकारी के लिए, Google के दिए गए कनेक्टर पैरामीटर देखें.
इंडेक्स करने वाले प्लग इन को कॉन्फ़िगर करके, इंडेक्स किए जा रहे कॉन्टेंट के लिए मेटाडेटा और स्ट्रक्चर्ड डेटा अपने-आप भरने की सुविधा चालू की जा सकती है. मेटाडेटा और स्ट्रक्चर्ड डेटा फ़ील्ड के लिए पॉप्युलेट की जाने वाली वैल्यू, इंडेक्स किए जा रहे एचटीएमएल कॉन्टेंट के मेटा टैग से निकाली जा सकती हैं. इसके अलावा, कॉन्फ़िगरेशन फ़ाइल में डिफ़ॉल्ट वैल्यू भी दी जा सकती हैं.
सेटिंग | पैरामीटर |
शीर्षक | itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
डिफ़ॉल्ट रूप से, प्लग इन इंडेक्स किए जा रहे दस्तावेज़ के टाइटल के तौर पर HTML title का इस्तेमाल करता है. अगर टाइटल मौजूद नहीं है, तो दस्तावेज़ के टाइटल से जुड़ी वैल्यू वाले मेटाडेटा एट्रिब्यूट का रेफ़रंस दिया जा सकता है या कोई डिफ़ॉल्ट वैल्यू सेट की जा सकती है.
|
बनाने का टाइमस्टैंप | itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
यह मेटाडेटा एट्रिब्यूट है, जिसमें दस्तावेज़ बनाने के टाइमस्टैंप की वैल्यू होती है. |
अंतिम संशोधित समय | itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
यह मेटाडेटा एट्रिब्यूट है, जिसमें दस्तावेज़ में किए गए आखिरी बदलाव के टाइमस्टैंप की वैल्यू होती है. |
दस्तावेज़ की भाषा | itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
इंडेक्स किए जा रहे दस्तावेज़ों के कॉन्टेंट की भाषा. |
स्कीमा ऑब्जेक्ट का टाइप | itemMetadata.objectType=movie
साइट पर इस्तेमाल किए जाने वाले ऑब्जेक्ट का टाइप, जैसा कि डेटा सोर्स स्कीमा ऑब्जेक्ट की परिभाषाओं में बताया गया है. अगर इस प्रॉपर्टी की जानकारी नहीं दी जाती है, तो कनेक्टर किसी भी स्ट्रक्चर्ड डेटा को इंडेक्स नहीं करेगा.
ध्यान दें: यह कॉन्फ़िगरेशन प्रॉपर्टी, मेटाडेटा एट्रिब्यूट के बजाय किसी वैल्यू पर ले जाती है. साथ ही, इसमें |
तारीख और समय के फ़ॉर्मैट
तारीख और समय के फ़ॉर्मैट से पता चलता है कि मेटाडेटा एट्रिब्यूट में किस तरह के फ़ॉर्मैट का इस्तेमाल किया जा सकता है. अगर कॉन्फ़िगरेशन फ़ाइल में यह पैरामीटर नहीं है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. इस पैरामीटर के बारे में यहां दी गई टेबल में बताया गया है.
सेटिंग
पैरामीटर
तारीख और समय के अन्य पैटर्न
structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
सेमीकोलन से अलग किए गए, java.time.format.DateTimeFormatter के अन्य पैटर्न की सूची. मेटाडेटा या स्कीमा में, तारीख या तारीख-समय वाले किसी भी फ़ील्ड के लिए स्ट्रिंग वैल्यू को पार्स करते समय, पैटर्न का इस्तेमाल किया जाता है. डिफ़ॉल्ट वैल्यू, खाली सूची होती है. हालांकि, आरएफ़सी 3339 और आरएफ़सी 1123 फ़ॉर्मैट हमेशा काम करते हैं.
तीसरा चरण: Norconex HTTP कलेक्टर को कॉन्फ़िगर करना
ज़िप संग्रह norconex-committer-google-cloud-search-{version}.zip
में, minimum-config.xml
के तौर पर कॉन्फ़िगरेशन फ़ाइल का सैंपल शामिल है.
Google का सुझाव है कि आप सैंपल फ़ाइल को कॉपी करके कॉन्फ़िगरेशन शुरू करें:
- Norconex एचटीटीपी कलेक्टर डायरेक्ट्री में बदलें:
$ cd ~/norconex/norconex-collector-http-{version}/
- कॉन्फ़िगरेशन फ़ाइल कॉपी करें:
$ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
- नई बनाई गई फ़ाइल (इस उदाहरण में,
gcs-crawl-config.xml
) में बदलाव करें और यहां दी गई टेबल में बताए गए तरीके से, मौजूदा<committer>
और<tagger>
नोड जोड़ें या बदलें.
सेटिंग | पैरामीटर |
<committer> node
|
<committer class="com.norconex.committer.googlecloudsearch.
GoogleCloudSearchCommitter">
ज़रूरी है. प्लग इन चालू करने के लिए, आपको रूट <httpcollector> नोड के चाइल्ड के तौर पर <committer> नोड जोड़ना होगा.
|
<UploadFormat>
|
<uploadFormat>raw</uploadFormat>
ज़रूरी नहीं. वह फ़ॉर्मैट जिसमें इंडेक्सर प्लग इन, दस्तावेज़ का कॉन्टेंट Google Cloud Search इंडेक्सर एपीआई को भेजता है. मान्य वैल्यू ये हैं:
डिफ़ॉल्ट वैल्यू raw है.
|
BinaryContent Tagger <tagger> node
|
<tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
अगर <UploadFormat> की वैल्यू raw है, तो यह प्रॉपर्टी देना ज़रूरी है. इस मामले में, इंडेक्स करने वाले प्लग इन के लिए दस्तावेज़ का बाइनरी कॉन्टेंट फ़ील्ड उपलब्ध होना ज़रूरी है.
आपको BinaryContentTagger <tagger> नोड को <importer> / <preParseHandlers> नोड के चाइल्ड एलिमेंट के तौर पर जोड़ना होगा.
|
यहां दिए गए उदाहरण में,
gcs-crawl-config.xml
में किए जाने वाले ज़रूरी बदलाव के बारे में बताया गया है.
<committer class="com.norconex.committer.googlecloudsearch.GoogleCloudSearchCommitter">
<configFilePath>/full/path/to/gcs-sdk-config.properties</configFilePath>
<uploadFormat>raw</uploadFormat>
</committer>
<importer>
<preParseHandlers>
<tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
</preParseHandlers>
</importer>
चौथा चरण: वेब क्रॉल कॉन्फ़िगर करना
वेब क्रॉल शुरू करने से पहले, आपको क्रॉल को कॉन्फ़िगर करना होगा, ताकि इसमें सिर्फ़ वह जानकारी शामिल हो जिसे आपका संगठन खोज के नतीजों में उपलब्ध कराना चाहता है. वेब क्रॉल के लिए सबसे ज़रूरी सेटिंग, <crawler>
node(s) का हिस्सा होती हैं. इनमें ये शामिल हो सकते हैं:
- शुरू करने के लिए यूआरएल
- क्रॉल की ज़्यादा से ज़्यादा डेप्थ
- थ्रेड की संख्या
अपनी ज़रूरतों के हिसाब से, इन कॉन्फ़िगरेशन वैल्यू में बदलाव करें. वेब क्रॉल सेट अप करने के बारे में ज़्यादा जानकारी के साथ-साथ, उपलब्ध कॉन्फ़िगरेशन पैरामीटर की पूरी सूची के लिए, एचटीटीपी कलेक्टर का कॉन्फ़िगरेशन पेज देखें.
पांचवां चरण: वेब क्रॉल और कॉन्टेंट अपलोड करना शुरू करना
इंडेक्सर प्लग इन को इंस्टॉल और सेट अप करने के बाद, इसे लोकल मोड में अपने-आप चलाया जा सकता है.
इस उदाहरण में, यह माना गया है कि ज़रूरी कॉम्पोनेंट, Linux सिस्टम की लोकल डायरेक्ट्री में मौजूद हैं. यह कमांड चलाएं:
$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml
JEF मॉनिटर की मदद से क्रॉलर को मॉनिटर करना
Norconex JEF (जॉब एक्सीक्यूशन फ़्रेमवर्क) मॉनिटर, एक ग्राफ़िकल टूल है. इसका इस्तेमाल, Norconex वेब क्रॉलर (एचटीटीपी कलेक्टर) प्रोसेस और जॉब की प्रोग्रेस को मॉनिटर करने के लिए किया जाता है. इस सुविधा को सेट अप करने का पूरा ट्यूटोरियल पाने के लिए, JEF मॉनिटर की मदद से अपने क्रॉलर की प्रोग्रेस पर नज़र रखें पर जाएं.