একটি CSV সংযোগকারী স্থাপন করুন

এই নির্দেশিকাটি গুগল ক্লাউড সার্চ সিএসভি (কমা-বিভাজিত মান) কানেক্টরের সেইসব প্রশাসকদের জন্য, যারা কানেক্টরটি ডাউনলোড, কনফিগার, পরিচালনা এবং পর্যবেক্ষণের দায়িত্বে আছেন।

এই নির্দেশিকায় নিম্নলিখিত মূল কাজগুলোর জন্য নির্দেশনা অন্তর্ভুক্ত রয়েছে:

  • ক্লাউড সার্চ সিএসভি কানেক্টর সফটওয়্যারটি ডাউনলোড করুন।
  • একটি নির্দিষ্ট CSV ডেটা সোর্সের জন্য কানেক্টরটি কনফিগার করুন।
  • কানেক্টরটি স্থাপন ও চালু করুন।

এই নথিতে থাকা ধারণাগুলো বোঝার জন্য গুগল ওয়ার্কস্পেস, সিএসভি ফাইল এবং অ্যাক্সেস কন্ট্রোল লিস্ট (এসিএল) সম্পর্কে পরিচিত হতে হবে।

ক্লাউড সার্চ CSV কানেক্টরের সংক্ষিপ্ত বিবরণ

ক্লাউড সার্চ CSV কানেক্টর যেকোনো কমা-বিভাজিত মান (CSV) টেক্সট ফাইলের সাথে কাজ করে। একটি CSV ফাইলে সারণিবদ্ধ ডেটা সংরক্ষিত থাকে, যেখানে প্রতিটি লাইন একটি ডেটা রেকর্ড।

কানেক্টরটি একটি CSV ফাইল থেকে সারিগুলো বের করে এবং ইনডেক্সিং এপিআই (Indexing API) ব্যবহার করে সেগুলোকে ক্লাউড সার্চে (Cloud Search) ইনডেক্স করে। একবার ইনডেক্স হয়ে গেলে, সারিগুলো ক্লাউড সার্চ ক্লায়েন্ট বা কোয়েরি এপিআই (Query API) এর মাধ্যমে অনুসন্ধানযোগ্য হয়। কানেক্টরটি কন্টেন্টে ব্যবহারকারীর অ্যাক্সেস নিয়ন্ত্রণের জন্য এসিএল (ACL) সমর্থন করে।

আপনি লিনাক্স বা উইন্ডোজে কানেক্টরটি ইনস্টল করতে পারেন। স্থাপনের আগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিত উপাদানগুলি রয়েছে:

সাধারণত, ডোমেইনটির গুগল ওয়ার্কস্পেস অ্যাডমিনিস্ট্রেটর এই ক্রেডেনশিয়ালগুলো সরবরাহ করেন।

স্থাপনের ধাপগুলি

ক্লাউড সার্চ CSV কানেক্টরটি স্থাপন করতে এই ধাপগুলো অনুসরণ করুন:

  1. কানেক্টর সফটওয়্যার ইনস্টল করুন
  2. সংযোগকারী কনফিগারেশন নির্দিষ্ট করুন
  3. ক্লাউড সার্চ ডেটা সোর্সে অ্যাক্সেস কনফিগার করুন
  4. CSV ফাইল অ্যাক্সেস কনফিগার করুন
  5. কলামের নাম, অনন্য কী এবং ডেটটাইম কলাম নির্দিষ্ট করুন।
  6. ক্লিকযোগ্য অনুসন্ধান ফলাফলের URL-গুলির জন্য কলাম নির্দিষ্ট করুন
  7. মেটাডেটা এবং কলাম ফরম্যাট নির্দিষ্ট করুন
  8. সময়সূচী ডেটা ট্র্যাভার্সাল
  9. ACL বিকল্পগুলি নির্দিষ্ট করুন

১. এসডিকে ইনস্টল করুন

আপনার স্থানীয় Maven রিপোজিটরিতে SDK-টি ইনস্টল করুন।

  1. গিটহাব থেকে এসডিকে রিপোজিটরিটি ক্লোন করুন।

    $ 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

২. CSV সংযোগকারী কনফিগারেশন নির্দিষ্ট করুন

আপনি কানেক্টরটির কনফিগারেশন ফাইলে থাকা প্যারামিটারগুলোর মাধ্যমে এর আচরণ নিয়ন্ত্রণ করেন। কনফিগারযোগ্য প্যারামিটারগুলো হলো:

  • ডেটা উৎসে প্রবেশাধিকার।
  • CSV ফাইলের অবস্থান এবং সংজ্ঞা।
  • অনন্য আইডি কলাম।
  • ট্র্যাভার্সাল এবং এসিএল বিকল্পসমূহ।

একটি কনফিগারেশন ফাইল তৈরি করতে:

  1. একটি টেক্সট এডিটর খুলুন এবং ফাইলটির নাম connector-config.properties দিন।
  2. কনফিগারেশন প্যারামিটারগুলো key=value জোড়া হিসেবে যোগ করুন এবং প্রতিটি জোড়া একটি নতুন লাইনে রাখুন। কনফিগারেশন ফাইলের একটি উদাহরণের জন্য, উদাহরণ কনফিগারেশন ফাইল দেখুন।

ট্র্যাকিং সহজ করার জন্য কনফিগারেশন ফাইলটি কানেক্টরের সাথে একই ডিরেক্টরিতে রাখুন। কানেক্টর যাতে আপনার ফাইলটি চিনতে পারে, তা নিশ্চিত করতে কমান্ড লাইনে এর পাথ উল্লেখ করুন। অন্যথায়, কানেক্টরটি ডিফল্টভাবে আপনার লোকাল ডিরেক্টরিতে থাকা connector-config.properties ব্যবহার করবে। কানেক্টরটি চালান (Run the connector) দেখুন।

৩. ক্লাউড সার্চ ডেটা সোর্সে অ্যাক্সেস কনফিগার করুন।

ক্লাউড সার্চ ডেটা সোর্স অ্যাক্সেস করার জন্য কনফিগারেশন ফাইলে অবশ্যই প্যারামিটার উল্লেখ করতে হবে। আপনার ডেটা সোর্স আইডি, সার্ভিস অ্যাকাউন্ট আইডি এবং সার্ভিস অ্যাকাউন্টের প্রাইভেট কী ফাইলের পাথ প্রয়োজন হবে।

সেটিং প্যারামিটার
ডেটা উৎস আইডি api.sourceId= 1234567890abcdef

আবশ্যক। গুগল ওয়ার্কস্পেস অ্যাডমিনিস্ট্রেটর কর্তৃক সেট আপ করা ক্লাউড সার্চ সোর্স আইডি।

সার্ভিস অ্যাকাউন্টের প্রাইভেট কী-এর পাথ api.serviceAccountPrivateKeyFile= ./PrivateKey.json

কানেক্টরের অ্যাক্সেসযোগ্যতার জন্য সার্ভিস অ্যাকাউন্ট কী ফাইল প্রয়োজন।

পরিচয় উৎস আইডি api.identitySourceId= x0987654321

বাহ্যিক ব্যবহারকারী এবং গ্রুপ ব্যবহার করার ক্ষেত্রে এটি আবশ্যক। গুগল ওয়ার্কস্পেস প্রশাসক কর্তৃক সেট আপ করা পরিচয় উৎস আইডি।

৪. CSV ফাইলের প্যারামিটার কনফিগার করুন

ফাইলটির পাথ, ফরম্যাট এবং এনকোডিং শনাক্ত করুন।

সেটিং প্যারামিটার
CSV ফাইলের পথ csv.filePath= ./movie_content.csv

আবশ্যক। ইন্ডেক্সিংয়ের জন্য ফাইলের পাথ।

ফাইল ফরম্যাট csv.format= DEFAULT

ফাইলটির ফরম্যাট। সম্ভাব্য মানগুলো অ্যাপাচি কমন্স CSV-এর CSVFormat ক্লাস থেকে নেওয়া হয়েছে।

ফরম্যাট ভ্যালুগুলোর মধ্যে রয়েছে: DEFAULT , EXCEL , INFORMIX_UNLOAD , INFORMIX_UNLOAD_CSV , MYSQL , RFC4180 , ORACLE , POSTGRESQL_CSV , POSTGRESQL_TEXT , এবং TDF । যদি নির্দিষ্ট করে দেওয়া না থাকে, ক্লাউড সার্চ DEFAULT ব্যবহার করে।

ফাইল ফরম্যাট মডিফায়ার csv.format. withMethod = value

ক্লাউড সার্চ যেভাবে ফাইলটি পরিচালনা করে, তাতে একটি পরিবর্তন। সম্ভাব্য পদ্ধতিগুলো অ্যাপাচি কমন্স CSV-এর CSVFormat ক্লাস থেকে নেওয়া হয়েছে এবং এর মধ্যে এমন পদ্ধতিগুলোও রয়েছে যেগুলো একটি একক অক্ষর, স্ট্রিং বা বুলিয়ান মান গ্রহণ করে।

উদাহরণস্বরূপ, ডিলিমিটার হিসেবে সেমিকোলন নির্দিষ্ট করতে, csv.format.withDelimiter=; ব্যবহার করুন। খালি লাইন উপেক্ষা করতে, csv.format.withIgnoreEmptyLines=true ব্যবহার করুন।

ফাইল এনকোডিং টাইপ csv.fileEncoding= UTF-8

ব্যবহৃত জাভা ক্যারেক্টার সেট। ডিফল্ট হিসেবে প্ল্যাটফর্ম ক্যারেক্টার সেট ব্যবহৃত হয়।

৫. ইনডেক্স এবং ইউনিক কী কলামের নাম উল্লেখ করুন।

কনফিগারেশন ফাইলে কলামের তথ্য প্রদান করুন।

সেটিং প্যারামিটার
সূচীকরণের জন্য কলাম csv.csvColumns= movieId,movieTitle,description,actors,releaseDate,year,userratings...

CSV ফাইল থেকে যে কলামগুলোর নাম ইনডেক্স করা হবে। ডিফল্টরূপে, CSV-এর প্রথম সারিটি হেডার হিসেবে ব্যবহৃত হয়। যদি csv.csvColumns নির্দিষ্ট করা থাকে, তবে সেটি অগ্রাধিকার পায়। যখন csv.csvColumns সেট করা থাকে এবং প্রথম সারিতে হেডার থাকে, তখন সেটিকে ডেটা হিসেবে ইনডেক্স করা এড়াতে csv.skipHeaderRecord=true ও সেট করুন।

অনন্য কী কলাম csv.uniqueKeyColumns= movieId

একটি অনন্য আইডি তৈরি করতে ব্যবহৃত কলামসমূহ। ডিফল্টরূপে এটি রেকর্ডের হ্যাশকোড হিসেবে ব্যবহৃত হয়।

৬. ক্লিকযোগ্য অনুসন্ধান ফলাফলের URL-গুলির জন্য কলাম নির্দিষ্ট করুন

অনুসন্ধানের ফলাফলের জন্য ইউআরএল ক্লিকযোগ্য করুন।

সেটিং প্যারামিটার
অনুসন্ধানের ফলাফলের URL ফরম্যাট url.format= https://mymoviesite.com/movies/{0}

আবশ্যক। ভিউ ইউআরএল তৈরি করতে ব্যবহৃত ফরম্যাট।

URL প্যারামিটার url.columns= movieId

আবশ্যক। CSV ফাইলের সেই কলামগুলোর নাম, যেগুলোর মান ব্যবহার করে রেকর্ডটির ভিউ URL তৈরি করা হবে।

অনুসন্ধানের ফলাফলের URL প্যারামিটারগুলি এস্কেপ করতে url.columnsToEscape= movieId

ঐচ্ছিক। CSV কলামের নামগুলো, যেগুলোর মান বৈধ ভিউ URL তৈরি করার জন্য URL এস্কেপ করা হবে।

৭. মেটাডেটা, কলাম ফরম্যাট এবং সার্চ কোয়ালিটি নির্দিষ্ট করুন।

আপনি কনফিগারেশন ফাইলে এমন প্যারামিটার যোগ করতে পারেন যা নির্দিষ্ট করে:

মেটাডেটা কনফিগারেশন প্যারামিটার

এই প্যারামিটারগুলো আইটেমের মেটাডেটা পূরণের জন্য কলামগুলোর বর্ণনা দেয়।

সেটিং প্যারামিটার
শিরোনাম 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 প্যাটার্নগুলোর একটি সেমিকোলন-দ্বারা -বিভক্ত তালিকা। মেটাডেটা বা স্কিমার যেকোনো তারিখ বা তারিখ-সময় ফিল্ডের স্ট্রিং মান পার্স করার সময় এই প্যাটার্নগুলো ব্যবহৃত হয়। এর ডিফল্ট মান হলো একটি খালি তালিকা, কিন্তু 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।

৮. সময়সূচী ডেটা ট্রাভার্সাল

ট্রাভার্সাল হলো কন্টেন্ট খুঁজে বের করার প্রক্রিয়া। কানেক্টরটি CSV-এর সারিগুলো ট্রাভার্স করে এবং ইনডেক্সিং এপিআই (Indexing API) ব্যবহার করে সেগুলোকে ইনডেক্স করে। CSV কানেক্টরটি শুধুমাত্র সম্পূর্ণ ট্রাভার্সাল সম্পাদন করে।

সেটিং প্যারামিটার
অতিক্রম ব্যবধান schedule.traversalIntervalSecs = 7200

সম্পূর্ণ পরিভ্রমণের মধ্যবর্তী ব্যবধান সেকেন্ডে। ডিফল্ট হলো ৮৬৪০০ (এক দিন)।

স্টার্টআপে ট্র্যাভার্সাল schedule.performTraversalOnStart = false

কানেক্টরটি প্রথম ইন্টারভালের মেয়াদ শেষ হওয়ার জন্য অপেক্ষা না করে, কানেক্টর চালু হওয়ার সময়েই একটি ট্র্যাভার্সাল সম্পাদন করে। ডিফল্ট মান হলো true.

৯. ACL বিকল্পগুলি নির্দিষ্ট করুন

কানেক্টরটি অ্যাক্সেস নিয়ন্ত্রণের জন্য ACL ব্যবহার করে। যদি আপনার রিপোজিটরি ACL সরবরাহ করে, তবে সেগুলি আপলোড করুন। অন্যথায়, ডিফল্ট ACL কনফিগার করুন। defaultAcl.mode মান none ছাড়া অন্য কোনো মানে সেট করুন।

সেটিং প্যারামিটার
ACL মোড defaultAcl.mode =fallback

আবশ্যক। কানেক্টরটি শুধুমাত্র ফলব্যাক মোড সমর্থন করে।

ডিফল্ট ACL নাম defaultAcl.name = VIRTUAL_CONTAINER_FOR_CONNECTOR_1

ঐচ্ছিক। এটি ডিফল্ট ACL-এর জন্য কানেক্টর দ্বারা ব্যবহৃত ভার্চুয়াল কন্টেইনারের নামকে ওভাররাইড করে। এর ডিফল্ট মান হলো DEFAULT_ACL_VIRTUAL_CONTAINER । যদি একাধিক কানেক্টর একই ডেটা সোর্সের কন্টেন্ট ইনডেক্স করে, তবে এটি ওভাররাইড করার কথা বিবেচনা করতে পারেন।

ডিফল্ট পাবলিক এসিএল defaultAcl.public = true

সম্পূর্ণ রিপোজিটরিকে পাবলিক ডোমেইন অ্যাক্সেসের জন্য সেট করে। ডিফল্ট মান হলো ফলস।

সাধারণ ACL গ্রুপ পাঠক defaultAcl.readers.groups = google: group1, group2
সাধারণ ACL পাঠক defaultAcl.readers.users = user1, user2, google: user3
সাধারণ ACL গ্রুপ পাঠকদের অস্বীকার করেছে defaultAcl.denied.groups = group3
কমন এসিএল পাঠকদের অস্বীকার করেছে 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 none হয়, তাহলে স্বতন্ত্র ACL ছাড়া রেকর্ডগুলি অনুসন্ধান করা যাবে না।

স্কিমা সংজ্ঞা

কাঠামোগত ডেটা কোয়েরি সমর্থন করার জন্য, আপনার ডেটা সোর্সের জন্য একটি স্কিমা সেট আপ করুন

উদাহরণস্বরূপ, সিনেমা সম্পর্কিত নিম্নলিখিত তথ্যসহ একটি CSV ফাইল বিবেচনা করুন:

  1. মুভিআইডি
  2. চলচ্চিত্রের শিরোনাম
  3. বর্ণনা
  4. বছর
  5. মুক্তির তারিখ
  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 নির্দিষ্ট করে ফাইলগুলিতে লগ করতে পারেন।