CSV कनेक्टर डिप्लॉय करना

यह गाइड, Google Cloud Search की CSV फ़ाइल (कॉमा लगाकर अलग की गई वैल्यू) के लिए है कनेक्टर एडमिन, यानी डाउनलोड करने के लिए ज़िम्मेदार व्यक्ति, कनेक्टर को कॉन्फ़िगर करना, चलाना, और उसे मॉनिटर करना.

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

  • Google Cloud Search CSV कनेक्टर सॉफ़्टवेयर डाउनलोड करें
  • कनेक्टर को किसी खास CSV डेटा सोर्स के साथ इस्तेमाल करने के लिए कॉन्फ़िगर करें
  • कनेक्टर को डिप्लॉय करें और चलाएं

इस दस्तावेज़ के कॉन्सेप्ट को समझने के लिए, आपको Google Workspace, CSV फ़ाइलों, और ऐक्सेस कंट्रोल लिस्ट (एसीएल) की बुनियादी बातें.

Google Cloud Search CSV कनेक्टर की खास जानकारी

Cloud Search CSV कनेक्टर, कॉमा लगाकर अलग की गई वैल्यू (CSV) वाले टेक्स्ट के साथ काम करता है. फ़ाइल से लिए जाते हैं. CSV फ़ाइल में टेबल का डेटा सेव होता है और फ़ाइल की हर लाइन में एक डेटा होता है रिकॉर्ड करने के लिए.

Google Cloud Search का CSV कनेक्टर, CSV फ़ाइल से अलग-अलग पंक्तियां निकालता है और यह उन्हें Cloud Search के इंडेक्स करने वाले एपीआई की मदद से, Cloud Search में इंडेक्स करता है. एक बार इंडेक्स हो गया है, CSV फ़ाइलों की अलग-अलग पंक्तियां इसके ज़रिए खोजी जा सकती हैं Cloud Search के क्लाइंट या Cloud Search का क्वेरी एपीआई. CSV कनेक्टर भी उपयोगकर्ताओं की को ऐक्सेस करने के लिए, ACL.

Google Cloud Search CSV कनेक्टर को Linux या Windows पर इंस्टॉल किया जा सकता है. इस तारीख से पहले का इस्तेमाल करने के लिए, Google Cloud Search CSV कनेक्टर का इस्तेमाल करना होगा, तो पक्का करें कि ये कॉम्पोनेंट ज़रूरी हैं:

  • ऐसे कंप्यूटर पर Java JRE 1.8 इंस्टॉल किया गया जिस पर Google Cloud Search CSV चलता है कनेक्टर
  • अलग-अलग प्लैटफ़ॉर्म के बीच संबंध बनाने के लिए, Google Workspace की जानकारी देना ज़रूरी है Google Cloud Search और डेटा सोर्स:

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

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

Google Cloud Search CSV कनेक्टर को डिप्लॉय करने के लिए, यह तरीका अपनाएं:

  1. Google Cloud Search का CSV कनेक्टर सॉफ़्टवेयर इंस्टॉल करना
  2. CSV कनेक्टर कॉन्फ़िगरेशन की जानकारी देना
  3. Google Cloud Search के डेटा सोर्स का ऐक्सेस कॉन्फ़िगर करना
  4. CSV फ़ाइल का ऐक्सेस कॉन्फ़िगर करना
  5. इंडेक्स करने के लिए कॉलम के नाम, खास कॉलम के यूनीक कॉलम, और तारीख और समय के कॉलम तय करना
  6. क्लिक किए जा सकने वाले खोज नतीजों के यूआरएल में इस्तेमाल करने के लिए कॉलम तय करना
  7. मेटाडेटा की जानकारी और कॉलम का फ़ॉर्मैट बताएं
  8. डेटा ट्रैवर्सल शेड्यूल करना
  9. ऐक्सेस कंट्रोल लिस्ट (ACL) के विकल्प तय करना

1. SDK टूल इंस्टॉल करें

अपनी लोकल Maven रिपॉज़िटरी में SDK टूल इंस्टॉल करें.

  1. GitHub से SDK टूल के रिपॉज़िटरी (डेटा स्टोर करने की जगह) का क्लोन बनाएं.

    $ git clone https://github.com/google-cloudsearch/connector-sdk.git
    $ cd connector-sdk/csv
  2. SDK का मनपसंद वर्शन देखें:

    $ git checkout tags/v1-0.0.3
  3. कनेक्टर बनाएं:

    $ mvn package
  4. कनेक्टर की ZIP फ़ाइल को, अपने लोकल इंस्टॉलेशन डायरेक्ट्री में कॉपी करें:

    $ cp target/google-cloudsearch-csv-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-csv-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-csv-connector-v1-0.0.3

2. CSV कनेक्टर कॉन्फ़िगरेशन तय करें

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

  • डेटा सोर्स का ऐक्सेस
  • CSV फ़ाइल की जगह
  • CSV कॉलम की परिभाषाएं
  • यूनीक आईडी बताने वाले कॉलम
  • ट्रैवर्सल के विकल्प
  • डेटा ऐक्सेस को प्रतिबंधित करने के लिए ACL विकल्प

कनेक्टर को CSV फ़ाइल को सही तरीके से ऐक्सेस करने और उससे जुड़े कॉन्टेंट को इंडेक्स करने के लिए, आपको पहले इसकी कॉन्फ़िगरेशन फ़ाइल बनानी होगी.

कॉन्फ़िगरेशन फ़ाइल बनाने के लिए:

  1. अपनी पसंद का टेक्स्ट एडिटर खोलें और कॉन्फ़िगरेशन फ़ाइल को नाम दें.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यहां बताए गए तरीके से, फ़ाइल के कॉन्टेंट में key=value पेयर जोड़ें सेक्शन.
  2. कॉन्फ़िगरेशन फ़ाइल को सेव करें और उसे कोई नाम दें.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है Google का सुझाव है कि आप कॉन्फ़िगरेशन फ़ाइल को नाम दें connector-config.properties इसलिए कोई अतिरिक्त कमांड लाइन पैरामीटर नहीं है कनेक्टर चलाने के लिए ज़रूरी है.

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

कनेक्टर आपकी कॉन्फ़िगरेशन फ़ाइल को पहचान सके, इसके लिए इसका पाथ डालें कमांड लाइन लिखें. इसके अलावा, कनेक्टर connector-config.properties को आपकी लोकल डायरेक्ट्री में डिफ़ॉल्ट फ़ाइल नाम. कॉन्फ़िगरेशन पथ चालू करने के बारे में जानकारी के लिए कमांड-लाइन में, Cloud Search CSV कनेक्टर चलाएं देखें.

3. Google Cloud Search के डेटा सोर्स का ऐक्सेस कॉन्फ़िगर करें

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

सेटिंग पैरामीटर
डेटा सोर्स का आईडी api.sourceId=1234567890abcdef

ज़रूरी है. Google Workspace एडमिन ने Google Cloud Search का सोर्स आईडी सेट अप किया है. इसके बारे में, तीसरे पक्ष के डेटा सोर्स मैनेज करना सेक्शन में बताया गया है.

सेवा खाते की निजी कुंजी वाली फ़ाइल का पाथ api.serviceAccountPrivateKeyFile=./PrivateKey.json

ज़रूरी है. Google Cloud Search CSV कनेक्टर की सुलभता के लिए, Google Cloud Search सेवा खाते की कुंजी फ़ाइल.

पहचान स्रोत आईडी api.identitySourceId=x0987654321

अगर बाहरी उपयोगकर्ताओं और ग्रुप का इस्तेमाल किया जा रहा है, तो ज़रूरी है. Google Cloud Search का आइडेंटिटी सोर्स आईडी, जिसे Google Workspace एडमिन ने सेट अप किया है.

4. CSV फ़ाइल के पैरामीटर कॉन्फ़िगर करें

कनेक्टर इससे पहले कि CSV फ़ाइल को ट्रैवर्स कर सके और उससे डेटा एक्सट्रैक्ट कर सके इंडेक्स करते समय, आपको फ़ाइल का पाथ पहचानना होगा. फ़ाइल फ़ॉर्मैट और फ़ाइल एन्कोडिंग का टाइप भी तय किया जा सकता है. कॉन्फ़िगरेशन फ़ाइल में CSV फ़ाइल की प्रॉपर्टी बताने के लिए, ये पैरामीटर जोड़ें.

सेटिंग पैरामीटर
CSV फ़ाइल का पाथ csv.filePath=./movie_content.csv

ज़रूरी है. CSV फ़ाइल को ऐक्सेस करने और इंडेक्स करने के लिए कॉन्टेंट निकालने का पाथ.

फ़ाइल फ़ॉर्मैट csv.format=DEFAULT

फ़ाइल का फ़ॉर्मैट. यह वैल्यू Apache Commons CSV CSVFormat क्लास से ली जा सकती है.

फ़ॉर्मैट की वैल्यू में ये शामिल हैं: DEFAULT, EXCEL, INFORMIX_UNLOAD, INFORMIX_UNLOAD_CSV, MYSQL, RFC4180, ORACLE, POSTGRESQL_CSV, POSTGRESQL_TEXT, और TDF. अगर जानकारी नहीं दी गई है, तो Cloud Search, DEFAULT का इस्तेमाल करता है.

फ़ाइल फ़ॉर्मैट मॉडिफ़ायर csv.format.withMethod=value

Cloud Search, फ़ाइल को मैनेज करने के तरीके में बदलाव कर रहा है. संभावित तरीके, Apache Commons CSV CSVFormat क्लास से हैं. इनमें कोई एक वर्ण, स्ट्रिंग या बूलियन वैल्यू इस्तेमाल करने वाले तरीके शामिल हैं.

उदाहरण के लिए, सेमीकोलन को डीलिमिटर के तौर पर सेट करने के लिए, csv.format.withDelimiter=; का इस्तेमाल करें. खाली लाइनों को अनदेखा करने के लिए, csv.format.withIgnoreEmptyLines=true का इस्तेमाल करें.

फ़ाइल एन्कोडिंग टाइप csv.fileEncoding=UTF-8

जब Cloud Search फ़ाइल को पढ़ता है, तब इस्तेमाल करने के लिए Java वर्ण सेट. अगर इसके बारे में जानकारी न दी गई हो, Cloud Search, प्लैटफ़ॉर्म के डिफ़ॉल्ट वर्ण सेट का इस्तेमाल करता है.

5. इंडेक्स और यूनीक कुंजी कॉलम में, कॉलम के नाम डालें

कनेक्टर, CSV फ़ाइलों को ऐक्सेस और इंडेक्स कर सके, इसके लिए आपको कॉन्फ़िगरेशन फ़ाइल में कॉलम की परिभाषाओं के बारे में जानकारी. अगर कॉन्फ़िगरेशन फ़ाइल में कॉलम के नाम बताने वाले पैरामीटर नहीं हैं डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है.

सेटिंग पैरामीटर
इंडेक्स किए जाने वाले कॉलम csv.csvColumns=movieId,movieTitle,description,actors,releaseDate,year,userratings...

CSV फ़ाइल से इंडेक्स किए जाने वाले कॉलम के नाम. अगर csv.csvColumns सेट नहीं है, तो CSV फ़ाइल की पहली लाइन को हेडर के तौर पर इस्तेमाल किया जाता है. अगर csv.csvColumns सेट है, तो इसे CSV की पहली लाइन के मुकाबले प्राथमिकता दी जाती है. अगर आपने csv.csvColumns को सेट किया है और CSV फ़ाइल की पहली पंक्ति, कॉलम के नामों की सूची है, तो आपको पहली पंक्ति को डेटा के तौर पर इंडेक्स करने से बचने के लिए, csv.skipHeaderRecord=true को सेट करना होगा. डिफ़ॉल्ट वैल्यू, फ़ाइल की हेडर लाइन में मौजूद कॉलम होते हैं.

कुंजी के यूनीक कॉलम csv.uniqueKeyColumns=movieId

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

6. क्लिक किए जा सकने वाले खोज नतीजों के यूआरएल में इस्तेमाल करने के लिए कॉलम तय करें

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

सेटिंग पैरामीटर
खोज के नतीजे में यूआरएल का फ़ॉर्मैट url.format=https://mymoviesite.com/movies/{0}

ज़रूरी है. CSV कॉन्टेंट के लिए व्यू यूआरएल बनाने का फ़ॉर्मैट.

खोज के नतीजों में शामिल यूआरएल पैरामीटर. url.columns=movieId

ज़रूरी है. वे CSV कॉलम के नाम जिनकी वैल्यू का इस्तेमाल, रिकॉर्ड के व्यू यूआरएल को जनरेट करने के लिए किया जाएगा.

एस्केप करने के लिए खोज नतीजों के यूआरएल पैरामीटर url.columnsToEscape=movieId

ज़रूरी नहीं. वे CSV कॉलम के नाम जिनके मान को यूआरएल एस्केप किया जाएगा, ताकि मान्य व्यू यूआरएल जनरेट किया जा सके.

7. मेटाडेटा की जानकारी, कॉलम के फ़ॉर्मैट, खोज की क्वालिटी के बारे में बताएं

कॉन्फ़िगरेशन फ़ाइल में ये पैरामीटर जोड़े जा सकते हैं:

मेटाडेटा कॉन्फ़िगरेशन पैरामीटर

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

सेटिंग पैरामीटर
शीर्षक itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind

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

यूआरएल itemMetadata.sourceRepositoryUrl.field=url
itemMetadata.sourceRepositoryUrl.defaultValue=https://www.imdb.com/title/tt0031381/
मेटाडेटा एट्रिब्यूट, जिसमें खोज के नतीजों में दिखाने के लिए दस्तावेज़ के यूआरएल की वैल्यू शामिल होती है.
बनाए जाने का टाइमस्टैंप 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.field=type
itemMetadata.objectType.defaultValue=movie

कनेक्टर के लिए इस्तेमाल किया गया ऑब्जेक्ट टाइप, जैसा कि स्कीमा. अगर इस प्रॉपर्टी के बारे में नहीं बताया गया है, तो कनेक्टर किसी भी स्ट्रक्चर्ड डेटा को इंडेक्स नहीं करेगा.

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

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

सेटिंग पैरामीटर
तारीख और समय के दूसरे फ़ॉर्मैट structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
अतिरिक्त java.time.format.DateTimeFormatter पैटर्न की सेमीकोलन से अलग की गई सूची. इन पैटर्न का इस्तेमाल, मेटाडेटा या स्कीमा में मौजूद तारीख या समय के हिसाब से बने फ़ील्ड की स्ट्रिंग की वैल्यू पार्स करते समय किया जाता है. डिफ़ॉल्ट वैल्यू एक खाली सूची होती है, लेकिन आरएफ़सी 3339 और आरएफ़सी 1123 फ़ॉर्मैट हमेशा काम करते हैं.

कॉलम के फ़ॉर्मैट

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

सेटिंग पैरामीटर
हेडर छोड़ें csv.skipHeaderRecord=true

बूलियन. CSV फ़ाइल में हेडर रिकॉर्ड (पहली लाइन) को अनदेखा करें. अगर आपने csv.csvColumns को सेट किया है और CSV फ़ाइल में हेडर वाली लाइन है, तो आपको skipHeaderRecord=true को सेट करना होगा. इससे फ़ाइल की पहली लाइन को डेटा के तौर पर इंडेक्स नहीं किया जा सकता. अगर CSV फ़ाइल में हेडर वाली लाइन नहीं है, तो skipHeaderRecord=false सेट करें. डिफ़ॉल्ट वैल्यू 'गलत' है.

एक से ज़्यादा वैल्यू वाले कॉलम csv.multiValueColumns=genre,actors

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

एक से ज़्यादा वैल्यू वाले कॉलम का डीलिमिटर csv.multiValue.genre=;

एक से ज़्यादा वैल्यू वाले कॉलम के लिए डीलिमिटर. डिफ़ॉल्ट डेलिमिटर, कॉमा होता है.

खोज गुणवत्ता

Cloud Search CSV कनेक्टर, डेटा फ़ील्ड के लिए अपने-आप एचटीएमएल फ़ॉर्मैटिंग की अनुमति देता है. आपका कनेक्टर, कनेक्टर पर एक्ज़ीक्यूशन की शुरुआत में डेटा फ़ील्ड को तय करता है. और फिर हर डेटा रिकॉर्ड को अपलोड करने से पहले उसे फ़ॉर्मैट करने के लिए, कॉन्टेंट टेंप्लेट का इस्तेमाल करता है Cloud Search में भी बदल सकते हैं.

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

सेटिंग पैरामीटर
कॉन्टेंट का टाइटल contentTemplate.csv.title=movieTitle

सामग्री का शीर्षक, खोज की क्वालिटी वाला सबसे बेहतर फ़ील्ड होता है.

कॉन्टेंट फ़ील्ड के लिए, खोज की अच्छी क्वालिटी contentTemplate.csv.quality.high=actors

वे कॉन्टेंट फ़ील्ड, जिनकी खोज की क्वालिटी अच्छी है. डिफ़ॉल्ट तौर पर, यह एक खाली स्ट्रिंग होती है.

कॉन्टेंट फ़ील्ड के लिए, खोज की खराब क्वालिटी contentTemplate.csv.quality.low=genre

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

कॉन्टेंट फ़ील्ड के लिए खोज की मध्यम क्वालिटी contentTemplate.csv.quality.medium=description

कॉन्टेंट फ़ील्ड, जिन्हें सर्च क्वालिटी के लिए मध्यम मान के तौर पर सेट किया गया है. डिफ़ॉल्ट तौर पर, यह एक खाली स्ट्रिंग होती है.

कॉन्टेंट के ऐसे फ़ील्ड जिनके बारे में जानकारी नहीं दी गई है contentTemplate.csv.unmappedColumnsMode=IGNORE

कनेक्टर अनिर्दिष्ट सामग्री फ़ील्ड को कैसे प्रबंधित करता है. मान्य मान हैं:

  • जोड़ें—टेंप्लेट में कॉन्टेंट के ऐसे फ़ील्ड जोड़ें जिनके बारे में जानकारी नहीं दी गई है
  • गैर-ज़रूरी—कॉन्टेंट के ऐसे फ़ील्ड को अनदेखा करें जिनके बारे में जानकारी नहीं दी गई है

    डिफ़ॉल्ट वैल्यू APPEND है.

8. डेटा ट्रैवर्सल शेड्यूल करें

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

फ़ुल ट्रैवर्सल, फ़ाइल में सभी कॉलम को इंडेक्स करता है. इंक्रीमेंटल ट्रैवर्सल सिर्फ़ उन कॉलम को इंडेक्स करता है जिन्हें पिछले ट्रैवर्सल के बाद जोड़ा गया है या जिनमें बदलाव किए गए हैं. CSV कनेक्टर सिर्फ़ पूरे ट्रैवर्सल परफ़ॉर्म करता है. यह इंक्रीमेंटल ट्रैवर्सल परफ़ॉर्म नहीं करता है.

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

सेटिंग पैरामीटर
एक इंटरवल के बाद पूरा ट्रैवर्सल schedule.traversalIntervalSecs=7200

कनेक्टर एक खास इंटरवल के बाद पूरा ट्रैवर्सल करता है. ट्रैवर्सल के बीच के अंतराल को सेकंड में तय करें. इसकी डिफ़ॉल्ट वैल्यू 86400 है (एक दिन में सेकंड की संख्या).

कनेक्टर स्टार्टअप पर पूरा ट्रैवर्सल schedule.performTraversalOnStart=false

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

9. ऐक्सेस कंट्रोल लिस्ट (एसीएल) के विकल्प तय करें

Google Cloud Search CSV कनेक्टर को कंट्रोल करने के लिए, ACL के ज़रिए अनुमतियों का इस्तेमाल किया जा सकता है खोज नतीजों में CSV फ़ाइल के कॉन्टेंट का ऐक्सेस देना. एक से ज़्यादा ACL हैं विकल्पों की मदद से, इंडेक्स किए गए रिकॉर्ड का ऐक्सेस सुरक्षित रखा जा सकता है.

अगर आपके रिपॉज़िटरी में हर दस्तावेज़ से जुड़ी अलग-अलग ACL जानकारी है, Cloud Search में दस्तावेज़ का ऐक्सेस कंट्रोल करने के लिए, ACL की पूरी जानकारी अपलोड करें. अगर आपने आपका रिपॉज़िटरी (डेटा स्टोर करने की जगह) कभी-कभी या कोई ACL जानकारी नहीं देता है, तो आप डिफ़ॉल्ट नीचे दिए पैरामीटर में मौजूद ACL जानकारी, जिसे SDK टूल कनेक्टर.

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

सेटिंग पैरामीटर
ACL मोड defaultAcl.mode=fallback

ज़रूरी है. CSV कनेक्टर, डिफ़ॉल्ट ACL फ़ंक्शन पर निर्भर करता है. कनेक्टर में सिर्फ़ फ़ॉलबैक मोड इस्तेमाल किया जा सकता है.

डिफ़ॉल्ट ACL नाम defaultAcl.name=VIRTUAL_CONTAINER_FOR_CONNECTOR_1

ज़रूरी नहीं. डिफ़ॉल्ट एसीएल सेटअप करने के लिए, कनेक्टर जिन वर्चुअल कंटेनर का इस्तेमाल करता है उनके नाम को बदलने की अनुमति देता है. डिफ़ॉल्ट वैल्यू "DEFAULT_ACL_VIRTUAL_CONTAINER" है. अगर एक से ज़्यादा कनेक्टर एक ही डेटा सोर्स में कॉन्टेंट को इंडेक्स कर रहे हैं, तो हो सकता है कि आप इस वैल्यू को बदलना चाहें.

डिफ़ॉल्ट सार्वजनिक ACL defaultAcl.public=true

डेटा स्टोर करने की पूरी जगह के लिए इस्तेमाल किया जाने वाला डिफ़ॉल्ट ACL, सार्वजनिक डोमेन ऐक्सेस पर सेट होता है. डिफ़ॉल्ट वैल्यू false है.

सामान्य ACL ग्रुप रीडर defaultAcl.readers.groups=google:group1, group2
सामान्य ACL रीडर defaultAcl.readers.users=user1, user2, google:user3
सामान्य ACL ने ग्रुप रीडर को अस्वीकार कर दिया defaultAcl.denied.groups=group3
Common Acl ने पाठकों को अस्वीकार किया defaultAcl.denied.users=user4, user5
पूरे डोमेन का ऐक्सेस यह तय करने के लिए कि डोमेन का हर उपयोगकर्ता, इंडेक्स किए गए हर रिकॉर्ड को सार्वजनिक तौर पर ऐक्सेस कर सके, यहां दिए गए दोनों विकल्पों को वैल्यू के साथ सेट करें:
  • defaultAcl.mode=fallback
  • defaultAcl.public=true
सामान्य परिभाषित ACL डेटा स्टोर करने की जगह के हर रिकॉर्ड के लिए एक ACL तय करने के लिए, इन सभी पैरामीटर वैल्यू को सेट करें:
  • defaultAcl.mode=fallback
  • defaultAcl.public=false
  • defaultAcl.readers.groups=google:group1, group2
  • defaultAcl.readers.users=user1, user2, google:user3
  • defaultAcl.denied.groups=group3
  • defaultAcl.denied.users=user4, user5

    अगर किसी उपयोगकर्ता और ग्रुप के आगे "google:" नहीं लगाया जाता है, तो उसे स्थानीय डोमेन के हिसाब से तय किया गया उपयोगकर्ता/ग्रुप माना जाता है (लिटरल कॉन्सटेंट).

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

    अगर defaultAcl.mode कोई नहीं पर सेट है, तो अलग-अलग एसीएल के बिना रिकॉर्ड खोजे नहीं जा सकते.

स्कीमा की परिभाषा

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

तय हो जाने के बाद, इंडेक्स करने के अनुरोध तैयार करने के लिए, CSV कनेक्टर तय स्कीमा का इस्तेमाल कर सकता है. उदाहरण देने के लिए, आइए एक ऐसी CSV फ़ाइल पर विचार करें जिसमें फ़िल्मों के बारे में जानकारी.

मान लें कि इनपुट CSV फ़ाइल में, नीचे दिया गया कॉन्टेंट है.

  1. movieId
  2. movieTitle
  3. ब्यौरा
  4. वर्ष
  5. releaseDate
  6. ऐक्टर (एक से ज़्यादा वैल्यू को कॉमा (,) से अलग किया गया है)
  7. शैली (एक से ज़्यादा वैल्यू)
  8. रेटिंग

डेटा की ऊपर दी गई संरचना के आधार पर, आप जिसके लिए आपको CSV फ़ाइल के डेटा को इंडेक्स करना है.

{
  "objectDefinitions": [
    {
      "name": "movie",
      "propertyDefinitions": [
        {
          "name": "actors",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "textPropertyOptions": {
            "operatorOptions": {
              "operatorName": "actor"
            }
          }
        },
        {
          "name": "releaseDate",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": false,
          "datePropertyOptions": {
            "operatorOptions": {
              "operatorName": "released",
              "lessThanOperatorName": "releasedbefore",
              "greaterThanOperatorName": "releasedafter"
            }
          }
        },
        {
          "name": "movieTitle",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": false,
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": "HIGHEST"
            },
            "operatorOptions": {
              "operatorName": "title"
            }
          }
        },
        {
          "name": "genre",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "enumPropertyOptions": {
            "operatorOptions": {
              "operatorName": "genre"
            },
            "possibleValues": [
              {
                "stringValue": "Action"
              },
              {
                "stringValue": "Documentary"
              },
              {
                "stringValue": "Drama"
              },
              {
                "stringValue": "Crime"
              },
              {
                "stringValue": "Sci-fi"
              }
            ]
          }
        },
        {
          "name": "userRating",
          "isReturnable": true,
          "isRepeatable": false,
          "isFacetable": true,
          "integerPropertyOptions": {
            "orderedRanking": "ASCENDING",
            "maximumValue": "10",
            "operatorOptions": {
              "operatorName": "score",
              "lessThanOperatorName": "scorebelow",
              "greaterThanOperatorName": "scoreabove"
            }
          }
        }
      ]
    }
  ]
}

कॉन्फ़िगरेशन फ़ाइल का उदाहरण

कॉन्फ़िगरेशन फ़ाइल के नीचे दिए गए उदाहरण में, पैरामीटर key=value के पेयर दिखाए गए हैं जो कनेक्टर के व्यवहार का उदाहरण देती हैं.

# data source access
api.sourceId=1234567890abcd
api.serviceAccountPrivateKeyFile=./PrivateKey.json

# CSV data structure
csv.filePath=./movie_content.csv
csv.csvColumns=movieId,movieTitle,description,releaseYear,genre,actors,ratings,releaseDate
csv.skipHeaderRecord=true
url.format=https://mymoviesite.com/movies/{0}
url.columns=movieId
csv.datetimeFormat.releaseDate=yyyy-mm-dd
csv.multiValueColumns=genre,actors
csv.multiValue.genre=;
contentTemplate.csv.title=movieTitle

# metadata structured data and content
itemMetadata.title.field=movieTitle
itemMetadata.createTime.field=releaseDate
itemMetadata.contentLanguage.defaultValue=en-US
itemMetadata.objectType.defaultValue=movie
contentTemplate.csv.quality.medium=description
contentTemplate.csv.unmappedColumnsMode=IGNORE

#ACLs
defaultAcl.mode=fallback
defaultAcl.public=true

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

Cloud Search CSV कनेक्टर चलाएं

कमांड लाइन से कनेक्टर को चलाने के लिए, यह कमांड टाइप करें:

$ java -jar google-cloudsearch-csv-connector-v1-0.0.3.jar -Dconfig=my.config

डिफ़ॉल्ट रूप से, कनेक्टर लॉग स्टैंडर्ड आउटपुट पर उपलब्ध होते हैं. आपके पास फ़ाइलों में लॉग इन करने की सुविधा है logging.properties तय करके.