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

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

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

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

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

Cloud Search Norconex एचटीटीपी 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 एचटीटीपी कलेक्टर को एक-दूसरे से संपर्क करने में मदद करती हैं.

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

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

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

Linux पर, Google Cloud Search Norconex एचटीटीपी Collector इंडेक्सर प्लगिन इंस्टॉल करना ज़रूरी है.

काम करने वाले Norconex एचटीटीपी Collector वर्शन

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

ACL सहायता

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

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

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

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

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

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

  • इंडेक्सर प्लगिन को चलाने वाले कंप्यूटर पर, Java JRE 1.8 इंस्टॉल किया गया
  • Cloud Search और Norconex एचटीटीपी Collector को एक-दूसरे से जोड़ने के लिए, Google Workspace से जुड़ी ज़रूरी जानकारी:

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

डिप्लॉयमेंट के चरण

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

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

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

  1. इस पेज से, Norconex कमिटर सॉफ़्टवेयर डाउनलोड करें.
  2. डाउनलोड किए गए सॉफ़्टवेयर को ~/norconex/ फ़ोल्डर में अनज़िप करें
  3. GitHub से कमिटर प्लगिन का क्लोन बनाएं. 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. प्लगिन की .Jर और सभी ज़रूरी लाइब्रेरी को एचटीटीपी कलेक्टर की डायरेक्ट्री में कॉपी करने के लिए, इंस्टॉल स्क्रिप्ट चलाएं:
    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 एचटीटीपी Collector से कनेक्ट करने और उससे जुड़े कॉन्टेंट को इंडेक्स करने के लिए, आपको Norconex डायरेक्ट्री में Cloud Search कॉन्फ़िगरेशन फ़ाइल बनानी होगी. इसमें Norconex एचटीटीपी Collector इंस्टॉल है. Google का सुझाव है कि आप Cloud Search कॉन्फ़िगरेशन फ़ाइल को sdk-configuration.properties नाम दें.

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

सेटिंग पैरामीटर
डेटा सोर्स का आईडी api.sourceId = 1234567890abcdef
ज़रूरी है. Cloud Search का सोर्स आईडी, जिसे Google Workspace एडमिन ने सेट अप किया है.
सेवा खाता 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 पैटर्न की सेमीकॉलन से अलग की गई सूची. इन पैटर्न का इस्तेमाल, मेटाडेटा या स्कीमा में मौजूद किसी भी तारीख या तारीख और समय फ़ील्ड की स्ट्रिंग की वैल्यू पार्स करते समय किया जाता है. डिफ़ॉल्ट वैल्यू एक खाली सूची होती है, लेकिन आरएफ़सी 3339 और आरएफ़सी 1123 फ़ॉर्मैट हमेशा काम करते हैं.

तीसरा चरण: Norconex एचटीटीपी कलेक्टर को कॉन्फ़िगर करें

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

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

  1. Norconex एचटीटीपी कलेक्टर डायरेक्ट्री में बदलाव करें:
    $ 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 इंडेक्स करने वाले एपीआई में भेजता है. मान्य मान हैं:
  • raw: इंडेक्सर प्लगिन, दस्तावेज़ के ऐसे कॉन्टेंट को पुश करता है जिसमें बदलाव नहीं किया गया है.
  • text: इंडेक्सर प्लगिन, टेक्स्ट के निकाले गए कॉन्टेंट को पुश करता है.

डिफ़ॉल्ट वैल्यू raw है.
BinaryContent Tagger <tagger> node <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
अगर <UploadFormat> की वैल्यू raw है, तो ज़रूरी है. इस स्थिति में, इंडेक्सर प्लगिन के लिए दस्तावेज़ का बाइनरी कॉन्टेंट फ़ील्ड उपलब्ध होना ज़रूरी है.

आपको <importer> / <preParseHandlers> नोड के चाइल्ड एलिमेंट के तौर पर BinaryContentTagger <tagger> नोड जोड़ना होगा.

नीचे दिए गए उदाहरण में, 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> नोड का हिस्सा हैं और इनमें ये शामिल हो सकते हैं:

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

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

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

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

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

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

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

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