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

এই নির্দেশিকাটি Google ক্লাউড অনুসন্ধান CSV (কমা-বিচ্ছিন্ন মান) সংযোগকারী অ্যাডমিনিস্ট্রেটরদের জন্য তৈরি করা হয়েছে, অর্থাৎ, সংযোগকারী ডাউনলোড, কনফিগার করা, চালানো এবং পর্যবেক্ষণের জন্য দায়ী যে কেউ৷

এই নির্দেশিকাটিতে CSV সংযোগকারী স্থাপনার সাথে সম্পর্কিত মূল কাজগুলি সম্পাদন করার জন্য নির্দেশাবলী অন্তর্ভুক্ত রয়েছে:

  • Google ক্লাউড অনুসন্ধান CSV সংযোগকারী সফ্টওয়্যার ডাউনলোড করুন
  • একটি নির্দিষ্ট CSV ডেটা উৎসের সাথে ব্যবহারের জন্য সংযোগকারী কনফিগার করুন
  • সংযোগকারী স্থাপন এবং চালান

এই ডকুমেন্টের ধারণাগুলি বোঝার জন্য, আপনাকে Google Workspace, CSV ফাইল এবং অ্যাক্সেস কন্ট্রোল লিস্ট (ACLs) এর মৌলিক বিষয়গুলির সাথে পরিচিত হতে হবে।

Google ক্লাউড অনুসন্ধান CSV সংযোগকারীর ওভারভিউ

ক্লাউড সার্চ CSV কানেক্টর যেকোনও কমা-সেপারেটেড ভ্যালু (CSV) টেক্সট ফাইলের সাথে কাজ করে। একটি CSV ফাইল ট্যাবুলার ডেটা সঞ্চয় করে এবং ফাইলের প্রতিটি লাইন একটি ডেটা রেকর্ড।

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

Google ক্লাউড অনুসন্ধান CSV সংযোগকারী Linux বা Windows এ ইনস্টল করা যেতে পারে। আপনি Google ক্লাউড অনুসন্ধান CSV সংযোগকারী স্থাপন করার আগে, নিশ্চিত করুন যে আপনার কাছে নিম্নলিখিত প্রয়োজনীয় উপাদান রয়েছে:

  • Java JRE 1.8 একটি কম্পিউটারে ইনস্টল করা আছে যা Google ক্লাউড অনুসন্ধান CSV সংযোগকারী চালায়
  • Google ক্লাউড সার্চ এবং ডেটা উৎসের মধ্যে সম্পর্ক স্থাপনের জন্য Google Workspace তথ্যের প্রয়োজন:

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

স্থাপনার পদক্ষেপ

Google ক্লাউড অনুসন্ধান CSV সংযোগকারী স্থাপন করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Google ক্লাউড অনুসন্ধান CSV সংযোগকারী সফ্টওয়্যার ইনস্টল করুন৷
  2. CSV সংযোগকারী কনফিগারেশন নির্দিষ্ট করুন
  3. Google ক্লাউড অনুসন্ধান ডেটা উৎসে অ্যাক্সেস কনফিগার করুন
  4. CSV ফাইল অ্যাক্সেস কনফিগার করুন
  5. সূচীতে কলামের নাম, অনন্য কী কলাম এবং তারিখের কলাম নির্দিষ্ট করুন
  6. ক্লিকযোগ্য অনুসন্ধান ফলাফল URL-এ ব্যবহার করার জন্য কলাম নির্দিষ্ট করুন
  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. আপনার স্থানীয় ইনস্টলেশন ডিরেক্টরিতে সংযোগকারী জিপ ফাইলটি অনুলিপি করুন:

    $ 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. আপনার পছন্দের একটি পাঠ্য সম্পাদক খুলুন এবং কনফিগারেশন ফাইলটির নাম দিন।
    নিম্নলিখিত বিভাগে বর্ণিত ফাইল বিষয়বস্তুতে কী = মান জোড়া যোগ করুন।
  2. কনফিগারেশন ফাইলটি সংরক্ষণ করুন এবং নাম দিন।
    Google সুপারিশ করে যে আপনি কনফিগারেশন ফাইলের নাম দেন connector-config.properties যাতে কানেক্টর চালানোর জন্য কোনো অতিরিক্ত কমান্ড লাইন প্যারামিটারের প্রয়োজন হয় না।

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

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

3. Google ক্লাউড অনুসন্ধান ডেটা উত্সে অ্যাক্সেস কনফিগার করুন৷

ক্লাউড সার্চ ডেটা সোর্স অ্যাক্সেস করার জন্য প্রতিটি কনফিগারেশন ফাইলের প্রথম প্যারামিটারগুলি নির্দিষ্ট করতে হবে, যেমনটি নিম্নলিখিত টেবিলে দেখানো হয়েছে। সাধারণত, ক্লাউড অনুসন্ধানে সংযোগকারীর অ্যাক্সেস কনফিগার করার জন্য আপনার ডেটা উত্স আইডি, পরিষেবা অ্যাকাউন্ট আইডি এবং পরিষেবা অ্যাকাউন্টের ব্যক্তিগত কী ফাইলের পথের প্রয়োজন হবে৷ একটি ডেটা উত্স সেট আপ করার জন্য প্রয়োজনীয় পদক্ষেপগুলি তৃতীয় পক্ষের ডেটা উত্সগুলি পরিচালনা করুন- এ বর্ণিত হয়েছে৷

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

প্রয়োজন। Google Workspace অ্যাডমিনিস্ট্রেটর দ্বারা সেট আপ করা Google ক্লাউড সার্চ সোর্স আইডি, যেমন থার্ড-পার্টি ডেটা সোর্স ম্যানেজ করা হয়েছে।

পরিষেবা অ্যাকাউন্ট ব্যক্তিগত কী ফাইলের পথ api.serviceAccountPrivateKeyFile= ./PrivateKey.json

প্রয়োজন। Google ক্লাউড অনুসন্ধান CSV সংযোগকারী অ্যাক্সেসযোগ্যতার জন্য Google ক্লাউড অনুসন্ধান পরিষেবা অ্যাকাউন্ট কী ফাইল৷

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

বহিরাগত ব্যবহারকারী এবং গোষ্ঠীগুলি ব্যবহার করলে প্রয়োজনীয়৷ Google Workspace অ্যাডমিনিস্ট্রেটর দ্বারা সেট-আপ করা Google ক্লাউড সার্চ আইডেন্টিটি সোর্স আইডি।

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 । অনির্দিষ্ট থাকলে, ক্লাউড অনুসন্ধান DEFAULT ব্যবহার করে।

ফাইল ফরম্যাট সংশোধক csv.format. withMethod = value

ক্লাউড সার্চ কীভাবে ফাইলটি পরিচালনা করে তার একটি পরিবর্তন। সম্ভাব্য পদ্ধতিগুলি Apache Commons CSV CSVFormat ক্লাস থেকে এবং সেগুলিকে অন্তর্ভুক্ত করে যেগুলি একটি একক অক্ষর, স্ট্রিং বা বুলিয়ান মান নেয়৷

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

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

ক্লাউড সার্চ ফাইলটি পড়ার সময় ব্যবহার করার জন্য জাভা অক্ষর সেট করে। অনির্দিষ্ট থাকলে, ক্লাউড অনুসন্ধান প্ল্যাটফর্ম ডিফল্ট অক্ষর সেট ব্যবহার করে।

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 কলাম(গুলি) যার মান প্রতিটি রেকর্ডের অনন্য ID তৈরি করতে ব্যবহার করা হবে৷ যদি নির্দিষ্ট করা না থাকে, CSV রেকর্ডের হ্যাশটি তার অনন্য কী হিসাবে ব্যবহার করা উচিত। ডিফল্ট মান হল রেকর্ডের হ্যাশকোড।

6. ক্লিকযোগ্য অনুসন্ধান ফলাফল URL-এ ব্যবহার করার জন্য কলামগুলি নির্দিষ্ট করুন৷

যখন একজন ব্যবহারকারী Google ক্লাউড অনুসন্ধান ব্যবহার করে অনুসন্ধান করে, তখন এটি প্রতিটি ফলাফলের জন্য ক্লিকযোগ্য URL গুলি অন্তর্ভুক্ত করে এমন একটি ফলাফল পৃষ্ঠা দেখিয়ে প্রতিক্রিয়া জানায়৷ এই বৈশিষ্ট্যটি সক্ষম করতে, আপনাকে অবশ্যই কনফিগারেশন ফাইলে নিম্নলিখিত সারণীতে দেখানো পরামিতি যোগ করতে হবে।

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

প্রয়োজন। CSV কন্টেন্টের জন্য ভিউ ইউআরএল তৈরি করার ফর্ম্যাট।

অনুসন্ধান ফলাফল URL পরামিতি. url.columns= movieId

প্রয়োজন। CSV কলামের নাম যার মান রেকর্ডের ভিউ ইউআরএল তৈরি করতে ব্যবহার করা হবে।

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

ঐচ্ছিক। বৈধ ভিউ ইউআরএল তৈরি করতে CSV কলামের নাম যার মান হবে URL escaped।

7. মেটাডেটা তথ্য, কলাম বিন্যাস, অনুসন্ধান গুণমান নির্দিষ্ট করুন

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

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

মেটাডেটা কনফিগারেশন প্যারামিটার আইটেম মেটাডেটা পপুলেট করার জন্য ব্যবহৃত CSV কলাম বর্ণনা করে। কনফিগারেশন ফাইলে এই পরামিতিগুলি না থাকলে, ডিফল্ট মানগুলি ব্যবহার করা হয়। নিম্নলিখিত টেবিল এই পরামিতি দেখায়.

বিন্যাস প্যারামিটার
শিরোনাম 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/
অনুসন্ধান ফলাফলের জন্য নথির URL-এর মান ধারণ করে এমন মেটাডেটা বৈশিষ্ট্য।
টাইমস্ট্যাম্প তৈরি করা হয়েছে 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.skipHeaderRecord=true

বুলিয়ান। CSV ফাইলে হেডার রেকর্ড (প্রথম লাইন) উপেক্ষা করুন। আপনি যদি csv.csvColumns সেট করে থাকেন এবং CSV ফাইলে একটি হেডার সারি থাকে, তাহলে আপনাকে অবশ্যই skipHeaderRecord=true সেট করতে হবে। এটি ডেটা হিসাবে ফাইলের প্রথম সারিকে সূচীকরণে বাধা দেয়। CSV ফাইলে হেডার সারি না থাকলে, skipHeaderRecord=false সেট করুন। ডিফল্ট মান মিথ্যা।

বহু-মূল্যের কলাম csv.multiValueColumns= genre,actors

CSV ফাইলের কলামের নাম যাতে একাধিক মান রয়েছে। ডিফল্ট মান একটি খালি স্ট্রিং।

বহু-মান কলামের জন্য বিভাজক csv.multiValue.genre= ;

বহু-মান কলামের জন্য বিভাজনকারী। ডিফল্ট ডিলিমিটার একটি কমা।

অনুসন্ধান গুণমান

ক্লাউড অনুসন্ধান CSV সংযোগকারী ডেটা ক্ষেত্রগুলির জন্য স্বয়ংক্রিয় HTML বিন্যাসের অনুমতি দেয়৷ আপনার সংযোগকারী সংযোগকারী কার্যকর করার শুরুতে ডেটা ক্ষেত্রগুলিকে সংজ্ঞায়িত করে এবং তারপর ক্লাউড অনুসন্ধানে আপলোড করার আগে প্রতিটি ডেটা রেকর্ড ফর্ম্যাট করতে একটি সামগ্রী টেমপ্লেট ব্যবহার করে৷

বিষয়বস্তু টেমপ্লেট অনুসন্ধানের জন্য প্রতিটি ক্ষেত্রের মানের গুরুত্ব নির্ধারণ করে। শিরোনাম ক্ষেত্রটি প্রয়োজন এবং সর্বোচ্চ অগ্রাধিকার হিসাবে সংজ্ঞায়িত করা হয়েছে৷ আপনি অন্যান্য সমস্ত বিষয়বস্তুর ক্ষেত্রের জন্য অনুসন্ধানের গুণমানের গুরুত্বের মাত্রা নির্ধারণ করতে পারেন: উচ্চ, মাঝারি বা নিম্ন৷ কোনো বিষয়বস্তু ক্ষেত্র একটি নির্দিষ্ট বিভাগে সংজ্ঞায়িত না হলে কম অগ্রাধিকারে ডিফল্ট হয়। নিম্নলিখিত টেবিল এই পরামিতি দেখায়.

বিন্যাস প্যারামিটার
বিষয়বস্তুর শিরোনাম 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৷

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

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

সম্পূর্ণ ট্রাভার্সাল সূচী ফাইলের সমস্ত কলাম। ইনক্রিমেন্টাল ট্রাভার্সাল শুধুমাত্র সেই কলামগুলিকে সূচী করে যা পূর্ববর্তী ট্রাভার্সাল থেকে যুক্ত বা পরিবর্তিত হয়। CSV সংযোগকারী শুধুমাত্র সম্পূর্ণ ট্রাভার্সাল সম্পাদন করে। এটি ক্রমবর্ধমান ট্রাভার্সাল সঞ্চালন করে না।

সময়সূচী পরামিতি নির্ধারণ করে কত ঘন ঘন সংযোগকারী ট্রাভার্সালের মধ্যে অপেক্ষা করে। কনফিগারেশন ফাইলে শিডিউলিং প্যারামিটার না থাকলে, ডিফল্ট মান ব্যবহার করা হয়। নিম্নলিখিত টেবিল এই পরামিতি দেখায়.

বিন্যাস প্যারামিটার
একটি ব্যবধানের পর সম্পূর্ণ ট্রাভার্সাল schedule.traversalIntervalSecs = 7200

সংযোগকারী একটি নির্দিষ্ট ব্যবধানের পরে একটি সম্পূর্ণ ট্রাভার্সাল সঞ্চালন করে। সেকেন্ডে ট্রাভার্সালের মধ্যে ব্যবধান নির্দিষ্ট করুন। ডিফল্ট মান হল 86400 (এক দিনে সেকেন্ডের সংখ্যা)।

সংযোগকারী স্টার্টআপে সম্পূর্ণ ট্রাভার্সাল schedule.performTraversalOnStart = false

প্রথম ব্যবধানের মেয়াদ শেষ হওয়ার জন্য অপেক্ষা না করে সংযোগকারীটি সংযোগকারী স্টার্টআপে একটি সম্পূর্ণ ট্রাভার্সাল সম্পাদন করে। প্রচলিত মূল্য সঠিক।

9. অ্যাক্সেস কন্ট্রোল লিস্ট (ACL) বিকল্পগুলি নির্দিষ্ট করুন৷

Google ক্লাউড অনুসন্ধান CSV সংযোগকারী অনুসন্ধান ফলাফলে CSV ফাইলের বিষয়বস্তুতে অ্যাক্সেস নিয়ন্ত্রণ করতে ACL এর মাধ্যমে অনুমতি সমর্থন করে। আপনাকে সূচীকৃত রেকর্ডগুলিতে ব্যবহারকারীর অ্যাক্সেস রক্ষা করার অনুমতি দেওয়ার জন্য একাধিক ACL বিকল্প উপলব্ধ রয়েছে।

আপনার সংগ্রহস্থলে প্রতিটি নথির সাথে যুক্ত পৃথক ACL তথ্য থাকলে, ক্লাউড অনুসন্ধানের মধ্যে নথির অ্যাক্সেস নিয়ন্ত্রণ করতে সমস্ত ACL তথ্য আপলোড করুন। যদি আপনার সংগ্রহস্থল আংশিক বা কোন ACL তথ্য প্রদান করে, আপনি নিম্নলিখিত পরামিতিতে ডিফল্ট ACL তথ্য সরবরাহ করতে পারেন, যা SDK সংযোগকারীকে প্রদান করে।

সংযোগকারী কনফিগারেশন ফাইলে সক্রিয় করা ডিফল্ট ACL এর উপর নির্ভর করে। ডিফল্ট ACL সক্ষম করতে, defaultAcl.mode none ছাড়া অন্য যেকোন মোডে সেট করুন এবং defaultAcl.*

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

প্রয়োজন। CSV সংযোগকারী ডিফল্ট ACL কার্যকারিতার উপর নির্ভর করে। সংযোগকারী শুধুমাত্র ফলব্যাক মোড সমর্থন করে।

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

ঐচ্ছিক। ডিফল্ট ACL সেটআপ করতে সংযোগকারী দ্বারা ব্যবহৃত ভার্চুয়াল কন্টেইনার নাম ওভাররাইড করার অনুমতি দেয়৷ ডিফল্ট মান হল "DEFAULT_ACL_VIRTUAL_CONTAINER"। আপনি এই মানটিকে ওভাররাইড করতে চাইতে পারেন যদি একাধিক সংযোগকারী একই ডেটাসোর্সে কন্টেন্ট ইন্ডেক্স করে।

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

সম্পূর্ণ সংগ্রহস্থলের জন্য ব্যবহৃত ডিফল্ট ACL পাবলিক ডোমেন অ্যাক্সেসে সেট করা আছে। ডিফল্ট মান মিথ্যা।

সাধারণ ACL গ্রুপ পাঠক defaultAcl.readers.groups = google: group1, group2
সাধারণ ACL পাঠক defaultAcl.readers.users = user1, user2, google: user3
সাধারণ ACL গ্রুপ পাঠকদের অস্বীকার করেছে defaultAcl.denied.groups = group3
সাধারণ ACL পাঠকদের অস্বীকার করেছে defaultAcl.denied.users = user4, user5
সম্পূর্ণ ডোমেইন অ্যাক্সেস ডোমেনের প্রতিটি ব্যবহারকারীর দ্বারা প্রতিটি সূচীকৃত রেকর্ড সর্বজনীনভাবে অ্যাক্সেসযোগ্য হবে তা নির্দিষ্ট করতে, মান সহ নিম্নলিখিত দুটি বিকল্প সেট করুন:
  • defaultAcl.mode =fallback
  • defaultAcl.public = সত্য
সাধারণ সংজ্ঞায়িত ACL ডেটা সংগ্রহস্থলের প্রতিটি রেকর্ডের জন্য একটি ACL নির্দিষ্ট করতে, নিম্নলিখিত সমস্ত প্যারামিটার মান সেট করুন:
  • defaultAcl.mode =fallback
  • defaultAcl.public = মিথ্যা
  • 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 মিথ্যা সেট করা থাকলে শুধুমাত্র ব্যবহারকারী এবং গোষ্ঠীর বিকল্পগুলি সরবরাহ করুন। একাধিক গোষ্ঠী এবং ব্যবহারকারীদের তালিকা করতে, কমা-ডিলিমিটেড তালিকা ব্যবহার করুন।

    যদি defaultAcl.mode none তে সেট করা থাকে, তবে নির্দিষ্ট পৃথক ACL ব্যতীত রেকর্ডগুলি অনুসন্ধানযোগ্য নয়৷

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

ক্লাউড অনুসন্ধান কাঠামোগত এবং অসংগঠিত সামগ্রীর সূচীকরণ এবং পরিবেশন করার অনুমতি দেয়। আপনার ডেটাতে স্ট্রাকচার্ড ডেটা কোয়েরি সমর্থন করার জন্য, আপনাকে আপনার ডেটাসোর্সের জন্য স্কিমা সেটআপ করতে হবে।

একবার সংজ্ঞায়িত হলে, CSV সংযোগকারী সূচীকরণের অনুরোধগুলি তৈরি করতে সংজ্ঞায়িত স্কিমা উল্লেখ করতে পারে। একটি দৃষ্টান্তমূলক উদাহরণ প্রদান করতে, চলুন মুভি সম্পর্কে তথ্য সম্বলিত একটি CSV ফাইল বিবেচনা করা যাক।

ধরা যাক, ইনপুট CSV ফাইলে নিম্নলিখিত বিষয়বস্তু রয়েছে।

  1. মুভি আইডি
  2. সিনেমার শিরোনাম
  3. বর্ণনা
  4. বছর
  5. মুক্তির তারিখ
  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

প্রতিটি প্যারামিটারের বিস্তারিত বিবরণের জন্য, কনফিগারেশন পরামিতি রেফারেন্স দেখুন।

ক্লাউড সার্চ CSV সংযোগকারী চালান

কমান্ড লাইন থেকে সংযোগকারী চালানোর জন্য, নিম্নলিখিত কমান্ড টাইপ করুন:

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

ডিফল্টরূপে, সংযোগকারী লগগুলি স্ট্যান্ডার্ড আউটপুটে উপলব্ধ। আপনি logging.properties উল্লেখ করে ফাইলগুলিতে লগ করতে পারেন।