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

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

আপনি Google ক্লাউড অনুসন্ধান ডাটাবেস সংযোগকারী ব্যবহার করে আপনার প্রতিষ্ঠানের ডেটাবেস থেকে ডেটা আবিষ্কার এবং সূচী করতে Google ক্লাউড অনুসন্ধান সেট আপ করতে পারেন৷

গুরুত্বপূর্ণ বিবেচনা

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

সিস্টেমের প্রয়োজনীয়তা

Google ক্লাউড SQL MySQL JDBC ড্রাইভার (ডাউনলোড এবং আলাদাভাবে ইনস্টল করা)
সিস্টেমের প্রয়োজনীয়তা
অপারেটিং সিস্টেম উইন্ডোজ বা লিনাক্স
এসকিউএল ডাটাবেস যেকোন এসকিউএল ডাটাবেস একটি JDBC 4.0 বা তার পরে কমপ্লায়েন্ট ড্রাইভার সহ, নিম্নলিখিতগুলি সহ:
  • MS SQL সার্ভার (2008, 2012, 2014, 2016)
  • Oracle (11g,
  • 12c
  • )
ডাটাবেস অ্যাক্সেস করার জন্য সংযোগকারীর জন্যসফ্টওয়্যার

সংযোগকারী স্থাপন করুন

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

পূর্বশর্ত

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

ধাপ 1. ডাটাবেস সংযোগকারী সফ্টওয়্যার ডাউনলোড এবং তৈরি করুন

  1. GitHub থেকে সংযোগকারী সংগ্রহস্থল ক্লোন করুন।
    $ git clone https://github.com/google-cloudsearch/database-connector.git
    $ cd database-connector
  2. সংযোগকারীর পছন্দসই সংস্করণটি দেখুন:
    $ git checkout tags/v1-0.0.3
  3. সংযোগকারী তৈরি করুন।
    $ mvn package
    সংযোগকারী তৈরি করার সময় পরীক্ষাগুলি এড়িয়ে যেতে, mvn package -DskipTests ব্যবহার করুন।
  4. আপনার স্থানীয় ইনস্টলেশন ডিরেক্টরিতে সংযোগকারী জিপ ফাইলটি অনুলিপি করুন এবং এটি আনজিপ করুন:
    $ cp target/google-cloudsearch-database-connector-v1-0.0.3.zip installation-dir
    $ cd installation-dir
    $ unzip google-cloudsearch-database-connector-v1-0.0.3.zip
    $ cd google-cloudsearch-database-connector-v1-0.0.3

ধাপ 2. ডাটাবেস সংযোগকারী কনফিগার করুন

  1. একটি টেক্সট ফাইল তৈরি করুন এবং এটির নাম connector-config.properties (ডিফল্ট) বা অনুরূপ। Google সুপারিশ করে যে আপনি .properties বা .config এক্সটেনশনের সাথে কনফিগারেশন ফাইলের নাম দিন এবং ফাইলটিকে সংযোগকারীর মতো একই ডিরেক্টরিতে রাখুন৷ আপনি যদি একটি ভিন্ন নাম বা পথ ব্যবহার করেন, আপনি সংযোগকারী চালানোর সময় আপনাকে অবশ্যই পাথটি নির্দিষ্ট করতে হবে।
  2. ফাইলের বিষয়বস্তুতে কী/মান জোড়া হিসাবে প্যারামিটার যোগ করুন। কনফিগারেশন ফাইলটি অবশ্যই ডেটা উত্স অ্যাক্সেস, ডাটাবেস অ্যাক্সেস, একটি ডাটাবেস পূর্ণ ট্রাভার্সাল SQL স্টেটমেন্ট, একটি বিষয়বস্তু ক্ষেত্রের শিরোনাম এবং কলাম সংজ্ঞাগুলির জন্য পরামিতিগুলি নির্দিষ্ট করতে হবে। আপনি ঐচ্ছিক পরামিতি সহ অন্যান্য সংযোগকারী আচরণ কনফিগার করতে পারেন। যেমন:
    # Required parameters for data source access
    api.sourceId=1234567890abcdef
    api.identitySourceId=0987654321lmnopq
    api.serviceAccountPrivateKeyFile=./PrivateKey.json
    #
    # Required parameters for database access
    db.url=jdbc:mysql://localhost:3306/mysql_test
    db.user=root
    db.password=passw0rd
    #
    # Required full traversal SQL statement parameter
    db.allRecordsSql=select customer_id, first_name, last_name, phone, change_timestamp from address_book
    #
    # Required parameters for column definitions and URL format
    db.allColumns=customer_id, first_name, last_name, phone, change_timestamp
    db.uniqueKeyColumns=customer_id
    url.columns=customer_id
    #
    # Required content field parameter
    contentTemplate.db.title=customer_id
    #
    # Optional parameters to set ACLs to "entire domain" access
    defaultAcl.mode=fallback
    defaultAcl.public=true
    #
    # Optional parameters for schedule traversals
    schedule.traversalIntervalSecs=36000
    schedule.performTraversalOnStart=true
    schedule.incrementalTraversalIntervalSecs=3600
    

    ডাটাবেস-নির্দিষ্ট প্যারামিটারের বিশদ বিবরণের জন্য, এই নিবন্ধের শেষে কনফিগারেশন পরামিতি রেফারেন্সে যান।

    মেটাডেটা কনফিগারেশন, ডেটটাইম ফর্ম্যাট এবং ACL বিকল্পগুলির মতো সমস্ত ক্লাউড সার্চ সংযোগকারীতে সাধারণ প্যারামিটারগুলি সম্পর্কে জানতে, Google দ্বারা সরবরাহকৃত সংযোগকারী প্যারামিটারগুলিতে যান৷

    প্রযোজ্য হলে, ট্রাভার্সাল SQL ক্যোয়ারী প্যারামিটারে স্কিমা অবজেক্টের বৈশিষ্ট্য উল্লেখ করুন। সাধারণত আপনি SQL বিবৃতিতে উপনাম যোগ করতে পারেন। উদাহরণস্বরূপ, যদি আপনার একটি মুভি ডাটাবেস থাকে এবং ডেটা সোর্স স্কিমাতে "ActorName" নামে একটি সম্পত্তি সংজ্ঞা থাকে, তাহলে একটি SQL স্টেটমেন্টের ফর্ম থাকতে পারে: SELECT …, last_name AS ActorName, … FROM …

ধাপ 3. ডাটাবেস সংযোগকারী চালান

নিম্নলিখিত উদাহরণটি অনুমান করে যে প্রয়োজনীয় উপাদানগুলি একটি Linux সিস্টেমের স্থানীয় ডিরেক্টরিতে অবস্থিত।

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

java \
   -cp "google-cloudsearch-database-connector-v1-0.0.3.jar:mysql-connector-java-5.1.41-bin.jar" \
   com.google.enterprise.cloudsearch.database.DatabaseFullTraversalConnector \
   [-Dconfig=mysql.config]

কোথায়:

  • google-cloud-search-database-connector-v1-0.0.3.jar হল ডাটাবেস সংযোগকারী .jar ফাইল
  • mysql-connector-java-5.1.41-bin.jar হল JDBC ড্রাইভার যা ডাটাবেস
  • mysql.config
  • অ্যাক্সেস করতে ব্যবহার করা হচ্ছে
  • mysql.config একটি কাস্টম-নামযুক্ত কনফিগারেশন ফাইল। সংযোগকারী আপনার কনফিগারেশন ফাইলকে চিনতে পারে তা নিশ্চিত করতে, কমান্ড লাইনে এর পাথ নির্দিষ্ট করুন। অন্যথায়, সংযোগকারী ডিফল্ট ফাইলের নাম হিসাবে আপনার স্থানীয় ডিরেক্টরিতে connector-config.properties ব্যবহার করে।

সংযোগকারী কনফিগারেশন ত্রুটির রিপোর্ট করে কারণ এটি তাদের সনাক্ত করে। কিছু ত্রুটি রিপোর্ট করা হয় যখন সংযোগকারী শুরু হয়, যেমন যখন একটি ডাটাবেস কলাম রেকর্ড বিষয়বস্তুর অংশ হিসাবে সংজ্ঞায়িত করা হয় ( db.allColumns এ), কিন্তু কলামটি ডাটাবেসের ট্রাভার্সাল SQL ক্যোয়ারীতে ব্যবহার করা হয় না ( db.allRecordsSql এ ) অন্যান্য ত্রুটি শুধুমাত্র সনাক্ত করা হয় এবং রিপোর্ট করা হয় যখন সংযোগকারী প্রথম ট্রাভার্সালের জন্য ডাটাবেস অ্যাক্সেস করার চেষ্টা করে, যেমন অবৈধ SQL স্টেটমেন্ট সিনট্যাক্স।

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

ডেটা সোর্স অ্যাক্সেস প্যারামিটার

সেটিং প্যারামিটার
ডেটা সোর্স আইডি api.sourceId = source-ID

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

আইডেন্টিটি সোর্স আইডি api.identitySourceId = identity-source-ID

ACLs-এর জন্য বহিরাগত ব্যবহারকারী এবং গোষ্ঠী ব্যবহার করার জন্য প্রয়োজন। Cloud Search আইডেন্টিটি সোর্স আইডি যা Google Workspace অ্যাডমিনিস্ট্রেটর সেট-আপ করেছেন।

পরিষেবা অ্যাকাউন্ট api.serviceAccountPrivateKeyFile = path-to-private-key

আবশ্যক। Google Workspace অ্যাডমিনিস্ট্রেটর তৈরি ক্লাউড সার্চ পরিষেবা অ্যাকাউন্ট কী ফাইলের পাথ।

ডেটাবেস অ্যাক্সেস প্যারামিটার

সেট করা প্যারামিটার
ডেটাবেস URL db.url = database-URL

প্রয়োজনীয়। অ্যাক্সেস করা ডাটাবেসের সম্পূর্ণ পথ, যেমন jdbc:mysql://127.0.0.1/dbname

ডাটাবেস ব্যবহারকারীর নাম এবং পাসওয়ার্ড db.user = username
db.password = password

প্রয়োজন। একটি বৈধ ব্যবহারকারীর নাম এবং পাসওয়ার্ড যা সংযোগকারী ডাটাবেস অ্যাক্সেস করতে ব্যবহার করে। এই ডাটাবেস ব্যবহারকারীর অবশ্যই পঠিত ডাটাবেসের প্রাসঙ্গিক রেকর্ডে পড়ার অ্যাক্সেস থাকতে হবে।

JDBC ড্রাইভার db.driverClass = oracle.jdbc.OracleDriver

শুধুমাত্র তখনই প্রয়োজন যদি JDBC 4.0 ড্রাইভার ইতিমধ্যে ক্লাসের পাথে নির্দিষ্ট না থাকে।

ট্রাভার্সাল এসকিউএল ক্যোয়ারী প্যারামিটার সংযোগকারী

কনফিগারেশন ফাইলে এসকিউএল সিলেক্ট ক্যোয়ারী সহ ডাটাবেস রেকর্ড অতিক্রম করে। আপনাকে অবশ্যই একটি সম্পূর্ণ ট্রাভার্সাল ক্যোয়ারী কনফিগার করতে হবে; ইনক্রিমেন্টাল ট্রাভার্সালের জন্য প্রশ্ন ঐচ্ছিক।

একটি সম্পূর্ণ ট্রাভার্সাল ইনডেক্সিংয়ের জন্য কনফিগার করা প্রতিটি ডাটাবেস রেকর্ড পড়ে। ক্লাউড সার্চের জন্য নতুন রেকর্ড সূচী করতে এবং বিদ্যমান সমস্ত রেকর্ড পুনঃসূচীকরণের জন্য একটি সম্পূর্ণ ট্রাভার্সাল প্রয়োজন।

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

কানেক্টর এই ট্রাভার্সালগুলি সম্পাদন করে আপনার ট্রাভার্সাল শিডিউল প্যারামিটারে নির্ধারিত সময়সূচী অনুসারে।

প্যারামিটার সেট করা
সম্পূর্ণ ট্রাভার্সাল ক্যোয়ারী db.allRecordsSql = SELECT column-1 [, column-2 ,...] FROM database-name

প্রয়োজনীয়। প্রতিটি সম্পূর্ণ ট্রাভার্সালের জন্য কোয়েরি চালানো হয়।

প্রতিটি কলামের নাম যা সংযোগকারী যেকোন ক্ষমতায় ব্যবহার করবে (সামগ্রী, অনন্য আইডি, ACL) এই ক্যোয়ারীতে উপস্থিত থাকতে হবে। সংযোগকারী ত্রুটি এবং বাদ পড়া সনাক্ত করতে স্টার্টআপে কিছু প্রাথমিক যাচাইকরণ করে। এই কারণে, একটি সাধারণ " SELECT * FROM … " ক্যোয়ারী ব্যবহার করবেন না৷

সম্পূর্ণ ট্রাভার্সাল পেজিনেশন db.allRecordsSql.pagination = {none | offset}

মান হতে পারে:

  • কোনোটিই নয় : অফসেট পেজিনেশন ব্যবহার করবেন না
  • : সারি অফসেট অনুসারে পৃষ্ঠা সংখ্যা ব্যবহার করুন

    অফসেট দ্বারা পৃষ্ঠা সংখ্যা ব্যবহার করতে, এসকিউএল কোয়েরির একটি সারি অফসেটের জন্য একটি স্থানধারক প্রশ্ন চিহ্ন ( ? ) থাকতে হবে, শূন্য দিয়ে শুরু হবে। প্রতিটি সম্পূর্ণ ট্রাভার্সালে, কোনো ফলাফল না আসা পর্যন্ত কোয়েরিটি বারবার চালানো হয়।

ইনক্রিমেন্টাল ট্রাভার্সাল ক্যোয়ারী db.incrementalUpdateSql = SELECT column-1 [, column-2 ,...] FROM database-name WHERE last_update_time > ?

প্রয়োজন যদি আপনি ক্রমবর্ধমান ট্রাভার্সালের সময়সূচী করেন

"?" ক্যোয়ারীতে একটি টাইমস্ট্যাম্প মানের জন্য একটি বাধ্যতামূলক স্থানধারক। সংযোজক ইনক্রিমেন্টাল ট্রাভার্সাল এসকিউএল কোয়েরির মধ্যে পরিবর্তনগুলি ট্র্যাক করতে টাইমস্ট্যাম্প ব্যবহার করে।

শেষ আপডেট সময়ের জন্য ডাটাবেস টাইমস্ট্যাম্প কলাম ট্র্যাক করতে, SQL স্টেটমেন্টে timestamp_column alias যোগ করুন; অন্যথায়, সংযোগকারী ট্রাভার্সালের বর্তমান টাইমস্ট্যাম্প ব্যবহার করুন।

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

ডাটাবেস টাইম জোন db.timestamp.timezone = America/Los_Angeles

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

ট্রাভার্সাল এসকিউএল ক্যোয়ারী উদাহরণ

  • বেসিক সম্পূর্ণ ট্রাভার্সাল ক্যোয়ারী যা ইন্ডেক্সিংয়ের জন্য একজন কর্মচারী ডাটাবেসের আগ্রহের প্রতিটি রেকর্ড পড়ে:
    db.allRecordsSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field \
        FROM employee
  • অফসেট দ্বারা পেজিনেশন নির্দিষ্ট করুন, এবং একাধিক প্রশ্নের মধ্যে একটি সম্পূর্ণ ট্রাভার্সাল বিভক্ত করুন।

    SQL সার্ভার 2012 বা Oracle 12c (স্ট্যান্ডার্ড SQL 2008 সিনট্যাক্স):

    db.allRecordsSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field \
        FROM employee \
        ORDER BY customer_id OFFSET ? ROWS FETCH FIRST 1000 ROWS ONLY
    db.allRecordsSql.pagination = offset
    

    অথবা, MySQL বা Google Cloud SQL এর জন্য:

    db.allRecordsSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field \
        FROM employee \
        ORDER BY customer_id LIMIT 1000 OFFSET ?
    db.allRecordsSql.pagination = offset
  • সম্পূর্ণ ট্রাভার্সাল ক্যোয়ারী যা উপনাম সহ পৃথক ACLs প্রয়োগ করে:
    db.allRecordsSql = SELECT customer_id, first_name, last_name,  employee_id, interesting_field, last_update_time, \
         permitted_readers AS readers_users, \
         denied_readers AS denied_users, \
         permitted_groups AS readers_groups, \
         denied_groups AS denied_groups \
         FROM employee
  • বেসিক ইনক্রিমেন্টাল ট্রাভার্সাল ক্যোয়ারী:
    db.incrementalUpdateSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field, last_update_time \
         FROM employee \
         WHERE last_update_time > ?
  • ক্রমবর্ধমান ট্রাভার্সাল ক্যোয়ারী যা উপনাম সহ পৃথক ACLs প্রয়োগ করে:
    db.incrementalUpdateSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field, last_update_time, \
         permitted_readers AS readers_users, \
         denied_readers AS denied_users, \
         permitted_groups AS readers_groups, \
         denied_groups AS denied_groups \
         FROM employee \
         WHERE last_update_time > ?
  • ইনক্রিমেন্টাল ট্রাভার্সাল ক্যোয়ারী যা বর্তমান সময়ের পরিবর্তে ডাটাবেস টাইমস্ট্যাম্প ব্যবহার করে:
    db.incrementalUpdateSql = SELECT customer_id, first_name, last_name, employee_id, interesting_field, \
         last_update_time AS timestamp_column \
         FROM employee \
         WHERE last_update_time > ?

কলাম সংজ্ঞা পরামিতি

নিম্নলিখিত পরামিতিগুলি আপনি ট্রাভার্সাল স্টেটমেন্টে এবং প্রতিটি রেকর্ডকে স্বতন্ত্রভাবে শনাক্ত করতে ব্যবহার করেন এমন কলামগুলি নির্দিষ্ট করে৷

প্যারামিটার সেট করা
সমস্ত কলাম db.allColumns = column-1 , column-2 , ... column-N

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

উদাহরণ:

db.allColumns = customer_id, first_name, last_name, phone, change_timestamp
অনন্য কী কলাম db.uniqueKeyColumns = column-1 [, column-2 ]

আবশ্যক। একটি একক ডাটাবেস কলাম তালিকাভুক্ত করে যাতে অনন্য মান রয়েছে বা কলামগুলির সংমিশ্রণ দ্বারা যার মানগুলি একত্রে একটি অনন্য ID সংজ্ঞায়িত করে৷

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

উদাহরণ:

db.uniqueKeyColumns = customer_id
# or
db.uniqueKeyColumns = last_name, first_name
URL লিঙ্ক কলাম url.columns = column-1 [, column-2 ]

আবশ্যক। একটি ক্লিকযোগ্য অনুসন্ধান ফলাফলের জন্য ব্যবহৃত URL-এর জন্য ব্যবহৃত কলামগুলির এক বা একাধিক বৈধ, সংজ্ঞায়িত নাম নির্দিষ্ট করে৷ প্রতিটি ডেটাবেস রেকর্ডের সাথে সম্পর্কিত কোনো প্রাসঙ্গিক URL নেই এমন ডেটাবেসের জন্য, প্রতিটি রেকর্ডের জন্য একটি স্ট্যাটিক লিঙ্ক ব্যবহার করা যেতে পারে।

যাইহোক, যদি কলামের মান প্রতিটি রেকর্ডের জন্য একটি বৈধ লিঙ্ক সংজ্ঞায়িত করে, তাহলে ভিউ URL কলাম এবং বিন্যাস কনফিগারেশন মানগুলি নির্দিষ্ট করা উচিত।

URL বিন্যাস url.format = https://www.example.com/{0}

ভিউ URL এর বিন্যাস সংজ্ঞায়িত করে। সংখ্যাযুক্ত প্যারামিটারগুলি db.columns- এ নির্দিষ্ট কলামগুলিকে নির্দেশ করে, ক্রমানুসারে, শূন্য দিয়ে শুরু হয়।

যদি নির্দিষ্ট করা না থাকে, ডিফল্ট হল " {0} "৷

উদাহরণগুলি এই টেবিলটি অনুসরণ করে৷

URL url.columnsToEscape = column-1 [, column-2 ] এর জন্য শতাংশ-এনকোড করা কলামগুলি

db.columns থেকে কলামগুলি নির্দিষ্ট করে যেগুলির মানগুলি বিন্যাসিত URL স্ট্রিংয়ে অন্তর্ভুক্ত করার আগে শতাংশ-এনকোড করা হবে৷

ইউআরএল কলামের উদাহরণ

ট্রাভার্সাল কোয়েরিতে ব্যবহৃত কলাম এবং ভিউ ইউআরএলের বিন্যাস নির্দিষ্ট করতে:

  • কোনো ডাটাবেস রেকর্ড মান ব্যবহার না করে স্ট্যাটিক ইউআরএল ব্যবহার করতে:
    url.format = https://www.example.com
  • একটি একক কলাম মান ব্যবহার করতে যা ভিউ URL:
    url.format = {0}
    url.columns = customer_id
  • অবস্থান {0}-এ ভিউ URL-এ প্রতিস্থাপিত একটি একক কলাম মান ব্যবহার করতে:
    url.format = https://www.example.com/customer/id={0}
    url.columns = customer_id
    url.columnsToEscape = customer_id
  • ভিউ URL তৈরি করতে একাধিক কলামের মান ব্যবহার করতে (কলামগুলি অর্ডার-নির্ভর):
    url.format = {1}/customer={0}
    url.columns = customer_id, linked_url
    url.columnsToEscape = customer_id

বিষয়বস্তু ক্ষেত্রগুলি

অনুসন্ধানযোগ্য সামগ্রীর কোন রেকর্ড মানগুলিকে অংশ করা উচিত তা নির্ধারণ করতে সামগ্রী বিকল্পগুলি ব্যবহার করুন৷

পরামিতি সেট করা
সর্বোচ্চ-মানের অনুসন্ধান কলাম contentTemplate.db.title = column-name

প্রয়োজন। সার্চ ইনডেক্সিং এবং ফলাফলের অগ্রাধিকারের জন্য সর্বোচ্চ মানের কলাম।

অনুসন্ধান সামগ্রীর জন্য কলাম অগ্রাধিকার contentTemplate.db.quality.high = column-1 [, column-2 ...]
contentTemplate.db.quality.medium = column-1 [, column-2 ...]
contentTemplate.db.quality.low = column-1 [, column-2 ...]

কন্টেন্ট কলামগুলিকে ( contentTemplate.db.title এর জন্য সেট করা কলাম ব্যতীত) উচ্চ, মাঝারি বা নিম্নমানের অনুসন্ধান মানের ক্ষেত্র হিসাবে মনোনীত করুন। অনির্দিষ্ট কলাম ডিফল্ট কম।

কন্টেন্ট ডাটা কলাম db.contentColumns = column-1 [, column-2 ...]

ডাটাবেসে কন্টেন্ট কলাম নির্দিষ্ট করুন। এগুলি ফরম্যাট করা হয় এবং অনুসন্ধানযোগ্য নথি সামগ্রী হিসাবে ক্লাউড অনুসন্ধানে আপলোড করা হয়৷

যদি আপনি একটি মান নির্দিষ্ট না করেন, ডিফল্ট হল " * " নির্দেশ করে যে সমস্ত কলাম সামগ্রীর জন্য ব্যবহার করা উচিত৷

ব্লব কলাম db.blobColumn = column-name

বিষয়বস্তু কলামের সংমিশ্রণের পরিবর্তে নথি বিষয়বস্তুর জন্য ব্যবহার করার জন্য একটি একক ব্লব কলামের নাম উল্লেখ করুন।

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