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

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

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

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

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

গুগল ক্লাউড সার্চ সিএসভি সংযোগকারীর সংক্ষিপ্ত বিবরণ

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

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

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

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

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

স্থাপনের ধাপ

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

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

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

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

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

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

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

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

প্রয়োজনীয়। "তৃতীয় পক্ষের ডেটা সোর্স পরিচালনা করুন" বিভাগে বর্ণিত Google Workspace অ্যাডমিনিস্ট্রেটর দ্বারা সেট আপ করা Google Cloud Search সোর্স আইডি।

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

প্রয়োজনীয়। Google Cloud Search CSV সংযোগকারী অ্যাক্সেসিবিলিটির জন্য Google Cloud Search পরিষেবা অ্যাকাউন্ট কী ফাইল।

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

বহিরাগত ব্যবহারকারী এবং গোষ্ঠী ব্যবহার করলে প্রয়োজন। Google Workspace প্রশাসক দ্বারা সেট আপ করা Google Cloud Search পরিচয় উৎস আইডি।

৪. 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

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

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

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

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

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

সংযোগকারী যাতে 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 রেকর্ডের হ্যাশটি তার অনন্য কী হিসেবে ব্যবহার করা উচিত। ডিফল্ট মান হল রেকর্ডের হ্যাশকোড।

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

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

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

প্রয়োজনীয়। CSV কন্টেন্টের জন্য ভিউ URL তৈরির ফর্ম্যাট।

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

প্রয়োজনীয়। CSV কলামের নাম, যেগুলোর মান রেকর্ডের ভিউ url তৈরি করতে ব্যবহার করা হবে।

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

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

৭. মেটাডেটা তথ্য, কলামের ফর্ম্যাট, অনুসন্ধানের মান উল্লেখ করুন

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

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

মেটাডেটা কনফিগারেশন প্যারামিটারগুলি আইটেম মেটাডেটা পূরণ করার জন্য ব্যবহৃত 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 সেট করুন। ডিফল্ট মান হল 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।

৮. ডেটা ট্রাভার্সালের সময়সূচী নির্ধারণ করুন

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

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

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

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

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

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

প্রথম ব্যবধানের মেয়াদ শেষ হওয়ার অপেক্ষা করার পরিবর্তে, সংযোগকারীটি সংযোগকারী শুরুতে সম্পূর্ণ ট্র্যাভার্সাল সম্পাদন করে। ডিফল্ট মান সত্য।

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

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

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

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

বিন্যাস প্যারামিটার
ACL মোড ডিফল্টAcl.mode =ফলব্যাক

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

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

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

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

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

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

    প্রতিটি নির্দিষ্ট ব্যবহারকারী এবং গোষ্ঠীকে স্থানীয় ডোমেন-সংজ্ঞায়িত ব্যবহারকারী/গোষ্ঠী হিসেবে ধরে নেওয়া হয়, যদি না " google: " (আক্ষরিক ধ্রুবক) দিয়ে পূর্বে যুক্ত করা হয়।

    ডিফল্ট ব্যবহারকারী বা গোষ্ঠী একটি খালি স্ট্রিং। defaultAcl.public false তে সেট করা থাকলেই কেবল ব্যবহারকারী এবং গোষ্ঠী বিকল্প সরবরাহ করুন। একাধিক গোষ্ঠী এবং ব্যবহারকারীদের তালিকাভুক্ত করতে, কমা-বিভাজিত তালিকা ব্যবহার করুন।

    যদি defaultAcl.mode none তে সেট করা থাকে, তাহলে সংজ্ঞায়িত পৃথক ACL ছাড়া রেকর্ডগুলি অনুসন্ধান করা যাবে না।

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

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

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

ধরা যাক, ইনপুট 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 নির্দিষ্ট করে ফাইলগুলিতে লগ করতে পারেন।