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

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

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

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

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

Cloud Search Norconex एचटीटीपी कलेक्टर इंडेक्सर प्लगिन की खास जानकारी

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

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

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

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

  • {gcs-crawl-config.xml}-- Norconex एचटीटीपी कलेक्टर के लिए सेटिंग शामिल है.
  • sdk-configuration.properties-- इसमें Google Cloud Search की सेटिंग शामिल हैं.

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

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

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

इस ऑपरेटिंग सिस्टम पर काम करता है

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

इस्तेमाल किया जा सकने वाला Norconex एचटीटीपी कलेक्टर वर्शन

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

ACL सहायता

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

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

अगर डिफ़ॉल्ट ACL चालू नहीं हैं, तो प्लगिन फिर से पूरे 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 एचटीटीपी कलेक्टर को कॉन्फ़िगर करना
  4. वेब क्रॉल कॉन्फ़िगर करना
  5. वेब क्रॉल और कॉन्टेंट अपलोड करना

पहला चरण: Norconex HTTP 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. प्लगिन के .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
ज़रूरी है. 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 पैटर्न की सूची. इन पैटर्न का इस्तेमाल मेटाडेटा या स्कीमा में किसी भी तारीख या तारीख-समय वाले फ़ील्ड के स्ट्रिंग वैल्यू को पार्स करते समय किया जाता है. डिफ़ॉल्ट मान एक खाली सूची होती है, लेकिन RFC 3339 और RFC 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 की मदद से अपने क्रॉलर की प्रोग्रेस पर नज़र रखना पर जाएं.