Norconex एचटीटीपी कलेक्टर इंडेक्सर प्लगिन डिप्लॉय करें

यह गाइड, Google Cloud Search Norconex HTTP Collector इंडेक्सर प्लगिन के एडमिन के लिए है. इसका मतलब है कि यह गाइड उन लोगों के लिए है जो इंडेक्सर प्लगिन को डाउनलोड करने, डिप्लॉय करने, कॉन्फ़िगर करने, और उसे बनाए रखने के लिए ज़िम्मेदार हैं. इस गाइड में यह मान लिया गया है कि आपको Linux ऑपरेटिंग सिस्टम, वेब क्रॉलिंग की बुनियादी बातें, एक्सएमएल, और Norconex HTTP Collector के बारे में पता है.

इस गाइड में, इंडेक्सर प्लगिन को डिप्लॉय करने से जुड़े मुख्य टास्क पूरे करने के निर्देश शामिल हैं:

  • इंडेक्सर प्लगिन सॉफ़्टवेयर डाउनलोड करना
  • Google Cloud Search को कॉन्फ़िगर करना
  • Norconex HTTP Collector और वेब क्रॉलिंग को कॉन्फ़िगर करना
  • वेब क्रॉल शुरू करना और कॉन्टेंट अपलोड करना

इस गाइड में, उन टास्क के बारे में जानकारी नहीं दी गई है जिन्हें Google Workspace एडमिन को पूरा करना होगा. इन टास्क की मदद से, Google Cloud Search को Norconex HTTP Collector indexer प्लगिन से मैप किया जा सकता है. इन टास्क के बारे में जानकारी पाने के लिए, तीसरे पक्ष के डेटा सोर्स मैनेज करना लेख पढ़ें.

Cloud Search Norconex HTTP Collector इंडेक्सर प्लगिन के बारे में खास जानकारी

Cloud Search, डिफ़ॉल्ट रूप से Google Workspace के प्रॉडक्ट से कॉन्टेंट ढूंढ सकता है, उसे इंडेक्स कर सकता है, और दिखा सकता है. जैसे, Google Docs और Gmail. Google Cloud Search की पहुंच को बढ़ाया जा सकता है. इसके लिए, अपने उपयोगकर्ताओं को वेब कॉन्टेंट उपलब्ध कराएं. इसके लिए, Norconex HTTP Collector के लिए इंडेक्सर प्लगिन डिप्लॉय करें. यह एक ओपन सोर्स एंटरप्राइज़ वेब क्रॉलर है.

कॉन्फ़िगरेशन प्रॉपर्टी फ़ाइलें

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

इंडेक्सर प्लगिन का इस्तेमाल करने के लिए, आपको दो कॉन्फ़िगरेशन फ़ाइलों में प्रॉपर्टी सेट करनी होंगी:

  • {gcs-crawl-config.xml}-- इसमें Norconex HTTP Collector की सेटिंग शामिल होती हैं.
  • sdk-configuration.properties-- इसमें Google Cloud Search की सेटिंग होती हैं.

हर फ़ाइल में मौजूद प्रॉपर्टी की मदद से, Google Cloud Search इंडेक्सर प्लगिन और Norconex HTTP Collector एक-दूसरे के साथ कम्यूनिकेट कर पाते हैं.

वेब क्रॉल और कॉन्टेंट अपलोड करना

कॉन्फ़िगरेशन फ़ाइलों में डेटा भरने के बाद, आपके पास वेब क्रॉल शुरू करने के लिए ज़रूरी सेटिंग होती हैं. Norconex HTTP Collector, वेब को क्रॉल करता है. साथ ही, यह अपने कॉन्फ़िगरेशन से जुड़ा दस्तावेज़ कॉन्टेंट ढूंढता है. इसके बाद, यह दस्तावेज़ कॉन्टेंट के ओरिजनल बाइनरी (या टेक्स्ट) वर्शन को Cloud Search Indexing API पर अपलोड करता है. यहां यह इंडेक्स होता है और आखिर में आपके उपयोगकर्ताओं को दिखाया जाता है.

इसके साथ काम करने वाला ऑपरेटिंग सिस्टम

Google Cloud Search Norconex HTTP Collector indexer प्लगिन को Linux पर इंस्टॉल करना ज़रूरी है.

Norconex HTTP Collector का इस्तेमाल किया जा सकने वाला वर्शन

Google Cloud Search Norconex HTTP Collector इंडेक्सर प्लगिन, वर्शन 2.8.0 के साथ काम करता है.

एसीएल के साथ काम करने की सुविधा

इंडेक्सर प्लगिन, ऐक्सेस कंट्रोल लिस्ट (एसीएल) का इस्तेमाल करके, Google Workspace डोमेन में मौजूद दस्तावेज़ों के ऐक्सेस को कंट्रोल करने की सुविधा देता है.

अगर Google Cloud Search प्लगिन कॉन्फ़िगरेशन में डिफ़ॉल्ट एसीएल चालू हैं (defaultAcl.mode को none के अलावा किसी और वैल्यू पर सेट किया गया है और defaultAcl.* के साथ कॉन्फ़िगर किया गया है), तो इंडेक्सर प्लगिन सबसे पहले डिफ़ॉल्ट एसीएल बनाने और लागू करने की कोशिश करता है.

अगर डिफ़ॉल्ट एएलसी चालू नहीं हैं, तो प्लगिन पूरे Google Workspace डोमेन को पढ़ने की अनुमति देता है.

एसीएल कॉन्फ़िगरेशन पैरामीटर के बारे में ज़्यादा जानने के लिए, Google के उपलब्ध कराए गए कनेक्टर पैरामीटर देखें.

ज़रूरी शर्तें

इंडेक्सर प्लगिन को डिप्लॉय करने से पहले, पक्का करें कि आपके पास ये ज़रूरी कॉम्पोनेंट हों:

  • कंप्यूटर पर Java JRE 1.8 इंस्टॉल होना चाहिए. इस कंप्यूटर पर इंडेक्सर प्लगिन चलता है
  • Cloud Search और Norconex HTTP Collector के बीच संबंध बनाने के लिए, Google Workspace की यह जानकारी ज़रूरी है:

    आम तौर पर, डोमेन का Google Workspace एडमिन आपको ये क्रेडेंशियल दे सकता है.

डिप्लॉयमेंट का तरीका

इंडेक्सर प्लगिन को डिप्लॉय करने के लिए, यह तरीका अपनाएं:

  1. Norconex HTTP Collector और इंडेक्सर प्लगिन सॉफ़्टवेयर इंस्टॉल करना
  2. Google Cloud Search को कॉन्फ़िगर करना
  3. Norconex HTTP Collector को कॉन्फ़िगर करना
  4. वेब क्रॉल कॉन्फ़िगर करना
  5. वेब क्रॉल और कॉन्टेंट अपलोड करना शुरू करना

पहला चरण: Norconex HTTP Collector और इंडेक्सर प्लगिन सॉफ़्टवेयर इंस्टॉल करना

  1. Norconex commiter सॉफ़्टवेयर को इस पेज से डाउनलोड करें.
  2. डाउनलोड किए गए सॉफ़्टवेयर को ~/norconex/ फ़ोल्डर में अनज़िप करें
  3. GitHub से commiter प्लगिन का क्लोन बनाएं. git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git और फिर cd norconex-committer-plugin
  4. कमिटर प्लगिन का मनचाहा वर्शन देखें और ZIP फ़ाइल बनाएं: git checkout tags/v1-0.0.3 और mvn package (कनेक्टर बनाते समय टेस्ट स्किप करने के लिए, mvn package -DskipTests का इस्तेमाल करें.)
  5. cd target
  6. बनाए गए प्लगिन की जार फ़ाइल को norconex lib डायरेक्ट्री में कॉपी करें. cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
  7. अभी बनाई गई ZIP फ़ाइल को एक्स्ट्रैक्ट करें. इसके बाद, फ़ाइल को अनज़िप करें: unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip
  8. प्लगिन के .jar और सभी ज़रूरी लाइब्रेरी को http कलेक्टर की डायरेक्ट्री में कॉपी करने के लिए, इंस्टॉल स्क्रिप्ट को एक्ज़ीक्यूट करें:
    1. ऊपर निकाले गए कमिटर प्लगिन को इसमें बदलें: cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3
    2. $ sh install.sh को लागू करें. इसके बाद, प्रॉम्प्ट मिलने पर norconex/norconex-collector-http-{version}/lib के लिए पूरा पाथ टारगेट डायरेक्ट्री के तौर पर दें.
    3. अगर डुप्लीकेट जार फ़ाइलें मिलती हैं, तो 1 (सिर्फ़ सोर्स जार को कॉपी करें अगर टारगेट जार का नाम बदलने के बाद, उसका वर्शन टारगेट जार के वर्शन से ज़्यादा या उसके बराबर है) विकल्प चुनें.

दूसरा चरण: Google Cloud Search को कॉन्फ़िगर करना

इंडेक्सर प्लगिन को Norconex HTTP Collector से कनेक्ट करने और काम के कॉन्टेंट को इंडेक्स करने के लिए, आपको Norconex डायरेक्ट्री में Cloud Search कॉन्फ़िगरेशन फ़ाइल बनानी होगी. यह वही डायरेक्ट्री होनी चाहिए जहां Norconex HTTP Collector इंस्टॉल किया गया है. 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
साइट की ओर से इस्तेमाल किया गया ऑब्जेक्ट टाइप. इसे डेटा सोर्स स्कीमा ऑब्जेक्ट की परिभाषाओं में तय किया गया है. अगर इस प्रॉपर्टी को नहीं बताया जाता है, तो कनेक्टर किसी भी स्ट्रक्चर्ड डेटा को इंडेक्स नहीं करेगा.

ध्यान दें: यह कॉन्फ़िगरेशन प्रॉपर्टी, मेटाडेटा एट्रिब्यूट के बजाय किसी वैल्यू की ओर इशारा करती है. साथ ही, .field और .defaultValue सफ़िक्स का इस्तेमाल नहीं किया जा सकता.

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

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

सेटिंग

पैरामीटर

तारीख और समय के अतिरिक्त पैटर्न

structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX

java.time.format.DateTimeFormatter पैटर्न की एक सूची, जिसमें सेमीकोलन से अलग किए गए पैटर्न शामिल हैं. इन पैटर्न का इस्तेमाल, मेटाडेटा या स्कीमा में मौजूद तारीख या तारीख-समय के किसी भी फ़ील्ड के लिए स्ट्रिंग वैल्यू पार्स करते समय किया जाता है. डिफ़ॉल्ट वैल्यू एक खाली सूची होती है, लेकिन RFC 3339 और RFC 1123 फ़ॉर्मैट हमेशा काम करते हैं.

तीसरा चरण: Norconex HTTP Collector को कॉन्फ़िगर करना

ज़िप संग्रह norconex-committer-google-cloud-search-{version}.zip में, कॉन्फ़िगरेशन फ़ाइल का एक सैंपल minimum-config.xml शामिल है.

Google का सुझाव है कि आप कॉन्फ़िगरेशन की शुरुआत, सैंपल फ़ाइल को कॉपी करके करें:

  1. Norconex HTTP Collector डायरेक्ट्री में बदलाव करें:
    $ cd ~/norconex/norconex-collector-http-{version}/
  2. कॉन्फ़िगरेशन फ़ाइल कॉपी करें:
    $ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
  3. नई बनाई गई फ़ाइल (इस उदाहरण में, gcs-crawl-config.xml) में बदलाव करें. साथ ही, यहां दी गई टेबल में बताए गए तरीके से, मौजूदा <committer> और <tagger> नोड जोड़ें या बदलें.
सेटिंग पैरामीटर
<committer> node <committer class="com.norconex.committer.googlecloudsearch. GoogleCloudSearchCommitter">

ज़रूरी है. प्लगिन चालू करने के लिए, आपको रूट <httpcollector> नोड के चाइल्ड नोड के तौर पर <committer> नोड जोड़ना होगा.
<UploadFormat> <uploadFormat>raw</uploadFormat>
ज़रूरी नहीं. यह वह फ़ॉर्मैट है जिसमें इंडेक्सर प्लगिन, दस्तावेज़ के कॉन्टेंट को Google Cloud Search इंडेक्सर API पर पुश करता है. मान्य वैल्यू ये हैं:
  • raw: इंडेक्सर प्लगिन, ओरिजनल और बिना बदले गए दस्तावेज़ का कॉन्टेंट पुश करता है.
  • text: इंडेक्सर प्लगिन, निकाले गए टेक्स्ट वाले कॉन्टेंट को पुश करता है.

डिफ़ॉल्ट वैल्यू 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> नोड का हिस्सा होती हैं. इनमें ये शामिल हो सकती हैं:

  • शुरू करने के लिए यूआरएल
  • क्रॉल करने की ज़्यादा से ज़्यादा डेप्थ
  • थ्रेड की संख्या

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

पांचवां चरण: वेब क्रॉल और कॉन्टेंट अपलोड करना

इंडेक्सर प्लगिन को इंस्टॉल और सेट अप करने के बाद, इसे लोकल मोड में अपने-आप चलाया जा सकता है.

इस उदाहरण में, यह माना गया है कि ज़रूरी कॉम्पोनेंट, Linux सिस्टम पर लोकल डायरेक्ट्री में मौजूद हैं. यह कमांड चलाएं:

$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml

JEF Monitor की मदद से क्रॉलर को मॉनिटर करना

Norconex JEF (जॉब एक्ज़ीक्यूशन फ़्रेमवर्क) मॉनिटर, Norconex Web Crawler (एचटीटीपी कलेक्टर) प्रोसेस और जॉब की प्रोग्रेस को मॉनिटर करने वाला ग्राफ़िकल टूल है. इस यूटिलिटी को सेट अप करने के तरीके के बारे में पूरी जानकारी पाने के लिए, JEF Monitor की मदद से, अपने क्रॉलर की प्रोग्रेस को मॉनिटर करें पर जाएं.