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

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

इस गाइड में, इन मुख्य कामों के लिए निर्देश दिए गए हैं:

  • Cloud Search CSV कनेक्टर सॉफ़्टवेयर डाउनलोड करें.
  • किसी CSV डेटा सोर्स के लिए कनेक्टर कॉन्फ़िगर करें.
  • कनेक्टर को डिप्लॉय और रन करें.

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

Cloud Search CSV कनेक्टर के बारे में खास जानकारी

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

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

कनेक्टर को Linux या Windows पर इंस्टॉल किया जा सकता है. डप्लॉयमेंट से पहले, पक्का करें कि आपके पास ये कॉम्पोनेंट हों:

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

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

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

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

1. एसडीके टूल इंस्टॉल करना

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

  1. GitHub से SDK रिपॉज़िटरी का क्लोन बनाएं.

    $ git clone https://github.com/google-cloudsearch/connector-sdk.git
    $ cd connector-sdk/csv

  2. चुने गए वर्शन को देखें:

    $ git checkout tags/v1-0.0.3

  3. कनेक्टर बनाएं:

    $ mvn package

  4. कनेक्टर को एक्सट्रैक्ट और इंस्टॉल करें:

    $ 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 फ़ाइल की जगह और परिभाषाएं.
  • यूनीक आईडी कॉलम.
  • ट्रैवर्सल और एसीएल के विकल्प.

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

  1. टेक्स्ट एडिटर खोलें और फ़ाइल का नाम connector-config.properties रखें.
  2. कॉन्फ़िगरेशन पैरामीटर को key=value के तौर पर जोड़ें. हर पेयर को नई लाइन में जोड़ें. कॉन्फ़िगरेशन फ़ाइल के उदाहरण के लिए, कॉन्फ़िगरेशन फ़ाइल का उदाहरण देखें.

ट्रैकिंग को आसान बनाने के लिए, कॉन्फ़िगरेशन फ़ाइल को कनेक्टर के साथ एक ही डायरेक्ट्री में रखें. यह पक्का करने के लिए कि कनेक्टर आपकी फ़ाइल को पहचान ले, कमांड लाइन पर उसका पाथ डालें. अगर ऐसा नहीं किया जाता है, तो कनेक्टर आपकी लोकल डायरेक्ट्री में डिफ़ॉल्ट रूप से connector-config.properties पर सेट हो जाता है. कनेक्टर चलाना लेख पढ़ें.

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

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

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

ज़रूरी है. Google Workspace एडमिन ने Cloud Search का यह सोर्स आईडी सेट अप किया है.

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

ज़रूरी है. कनेक्टर को ऐक्सेस करने के लिए, सेवा खाते की कुंजी वाली फ़ाइल.

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

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

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

फ़ाइल के पाथ, फ़ॉर्मैट, और एन्कोडिंग की पहचान करें.

सेटिंग पैरामीटर
CSV फ़ाइल का पाथ csv.filePath=./movie_content.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

इस्तेमाल किया जाने वाला Java कैरेक्टर सेट. डिफ़ॉल्ट रूप से, यह प्लैटफ़ॉर्म के वर्ण सेट पर सेट होता है.

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

कॉन्फ़िगरेशन फ़ाइल में कॉलम की जानकारी दें.

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

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

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

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

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

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

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

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

यूआरएल पैरामीटर url.columns=movieId

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

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

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

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

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

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

इन पैरामीटर से, आइटम के मेटाडेटा को भरने के लिए कॉलम के बारे में जानकारी मिलती है.

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

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

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

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

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

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

पहली लाइन को अनदेखा करें. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है.

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

कॉलम के नाम, जिनमें एक से ज़्यादा वैल्यू मौजूद हैं.

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

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

खोज की क्वालिटी

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

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

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

कॉन्टेंट फ़ील्ड के लिए खोज के नतीजों की बेहतर क्वालिटी contentTemplate.csv.quality.high=actors

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

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

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

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

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

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

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

  • APPEND—append unspecified content fields to the template
  • IGNORE—बिना वैल्यू वाले कॉन्टेंट फ़ील्ड को अनदेखा करें

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

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

कॉन्टेंट को खोजने की प्रोसेस को ट्रैवर्सल कहते हैं. कनेक्टर, CSV फ़ाइल की लाइनों को स्कैन करता है और Indexing API का इस्तेमाल करके उन्हें इंडेक्स करता है. CSV कनेक्टर सिर्फ़ पूरी फ़ाइल को स्कैन करता है.

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

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

स्टार्टअप पर ट्रैवर्सल schedule.performTraversalOnStart=false

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

9. एसीएल के विकल्प तय करना

कनेक्टर, ऐक्सेस कंट्रोल लिस्ट (एसीएल) का इस्तेमाल करके ऐक्सेस को कंट्रोल करता है. अगर आपकी रिपॉज़िटरी में एसीएल की सुविधा उपलब्ध है, तो उन्हें अपलोड करें. इसके अलावा, डिफ़ॉल्ट एएलसी कॉन्फ़िगर करें. defaultAcl.mode एट्रिब्यूट की वैल्यू को none के अलावा किसी दूसरी वैल्यू पर सेट करें.

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

ज़रूरी है. यह कनेक्टर सिर्फ़ फ़ॉलबैक मोड के साथ काम करता है.

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

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

डिफ़ॉल्ट पब्लिक एसीएल defaultAcl.public=true

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

कॉमन ACL ग्रुप के रीडर defaultAcl.readers.groups=google:group1, group2
एसीएल पढ़ने वाले सामान्य लोग defaultAcl.readers.users=user1, user2, google:user3
ग्रुप के सदस्यों को ACL से जुड़ी अनुमतियां न मिलने की सामान्य वजहें defaultAcl.denied.groups=group3
उन लोगों की संख्या जिन्हें ऐक्सेस नहीं दिया गया है defaultAcl.denied.users=user4, user5
पूरे डोमेन का ऐक्सेस यह तय करने के लिए कि इंडेक्स किए गए हर रिकॉर्ड को डोमेन में मौजूद हर उपयोगकर्ता सार्वजनिक तौर पर ऐक्सेस कर सके, इन दोनों विकल्पों को वैल्यू के साथ सेट करें:
  • defaultAcl.mode=fallback
  • defaultAcl.public=true
सामान्य तौर पर तय की गई एसीएल हर रिकॉर्ड के लिए एक सामान्य एसीएल तय करने के लिए, इन पैरामीटर को सेट करें:
  • 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 की वैल्यू none है, तो अलग-अलग एएलसी के बिना रिकॉर्ड खोजे नहीं जा सकते.

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

स्ट्रक्चर्ड डेटा क्वेरी की सुविधा इस्तेमाल करने के लिए, अपने डेटा सोर्स के लिए स्कीमा सेट अप करें.

उदाहरण के लिए, यहां एक CSV फ़ाइल दी गई है. इसमें फ़िल्मों के बारे में यह जानकारी दी गई है:

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

इस स्ट्रक्चर के आधार पर, अपने डेटा सोर्स के लिए यह स्कीमा तय की जा सकती है:

{
  "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

कनेक्टर चलाना

कमांड लाइन से कनेक्टर चलाने के लिए:

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

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