ইলাস্টিক সার্চ মাল্টি-গেট

Ilastika Sarca Malti Geta



এই নিবন্ধটি তাদের আইডিগুলির উপর ভিত্তি করে একাধিক JSON নথি আনতে কীভাবে ইলাস্টিকসার্চ মাল্টি-গেট API ব্যবহার করবেন সে সম্পর্কে আলোচনা করবে। উপরন্তু, ইলাস্টিকসার্চ আপনাকে শুধুমাত্র ডকুমেন্ট আইডি ব্যবহার করে সূচকগুলি থেকে নথিগুলি পুনরুদ্ধার করতে একটি একক গেট কোয়েরি ব্যবহার করতে দেয়।

আসুন অন্বেষণ করা যাক।







অনুরোধ সিনট্যাক্স

ইলাস্টিকসার্চ মাল্টি-গেট API-এর জন্য নিম্নোক্ত সিনট্যাক্স:



পান /_mget
GET / /_mget

মাল্টি-গেট এপিআই একাধিক সূচককে সমর্থন করে যা আপনাকে নথিগুলি একই সূচকে না থাকলেও তা আনতে দেয়।



অনুরোধ নিম্নলিখিত পথ পরামিতি সমর্থন করে:





  1. - যে সূচী থেকে নথিগুলি পুনরুদ্ধার করতে হবে তার নাম তাদের আইডি দ্বারা নির্দিষ্ট করা।

আপনি দেখানো হিসাবে অন্যান্য ক্যোয়ারী পরামিতি নির্দিষ্ট করতে পারেন:

  1. পছন্দ - পছন্দের নোড বা শার্ড সংজ্ঞায়িত করে।
  2. প্রকৃত সময় - যদি সত্যে সেট করা হয়, অপারেশনটি রিয়েল-টাইমে সঞ্চালিত হয়।
  3. রিফ্রেশ - নির্দিষ্ট নথি আনার আগে টার্গেট শার্ডগুলি রিফ্রেশ করতে অপারেশনটিকে বাধ্য করে৷
  4. রাউটিং - একটি মান যা অপারেশনগুলিকে একটি নির্দিষ্ট শার্ডে রুট করতে ব্যবহৃত হয়।
  5. স্টোর_ক্ষেত্র - নথির পরিবর্তে একটি সূচকে সংরক্ষিত নথির ক্ষেত্রগুলি পুনরুদ্ধার করে৷
  6. _সূত্র - একটি বুলিয়ান মান যা সংজ্ঞায়িত করে যে অনুরোধটি _source ক্ষেত্রটি ফেরত দেবে কি না।

ক্যোয়ারীটির মূল অংশের প্রয়োজন, যার মধ্যে নিম্নলিখিত মানগুলি রয়েছে:



  1. ডক্স - আপনি যে নথিগুলি আনতে চান তা নির্দিষ্ট করে৷ উপরন্তু, এই বিভাগ নিম্নলিখিত বৈশিষ্ট্য সমর্থন করে:
    • _id - লক্ষ্য নথির অনন্য আইডি।
    • _সূচক - যে সূচীতে লক্ষ্য নথি রয়েছে।
    • রাউটিং - নথির প্রাথমিক শর্ডের চাবিকাঠি।
    • _সূত্র - সত্য হলে, এটি সমস্ত উৎস ক্ষেত্র অন্তর্ভুক্ত করে; অন্যথায়, এটি তাদের বাদ দেয়।
    • _সঞ্চিত_ক্ষেত্র - আপনি অন্তর্ভুক্ত করতে চান যে সঞ্চিত_ক্ষেত্র.
  2. আইডি - আপনি যে নথিগুলি আনতে চান তার আইডি৷

উদাহরণ 1: একই সূচক থেকে একাধিক নথি আনুন

নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে নেটফ্লিক্স সূচক থেকে নির্দিষ্ট আইডি সহ নথিগুলি পুনরুদ্ধার করতে ইলাস্টিকসার্চ মাল্টি-গেট API ব্যবহার করবেন:

curl -XGET 'http://localhost:9200/netflix/_mget' -H 'kbn-xsrf: রিপোর্টিং' -H 'কন্টেন্ট-টাইপ: অ্যাপ্লিকেশন/json' -d'
{
'ডক্স': [
{
'_id': 'T3wnVoMBck2AEzXPytlJ'
},
{
'_id': 'W3wnVoMBck2AEzXPytlJ'
}
]
}'

প্রদত্ত অনুরোধটি Netflix সূচক থেকে নির্দিষ্ট আইডি সহ নথিগুলি আনতে হবে। ফলস্বরূপ আউটপুট দেখানো হয়েছে:

{
'ডক্স': [
{
'_index': 'নেটফ্লিক্স',
'_id': 'T3wnVoMBck2AEzXPytlJ',
'_সংস্করণ': ১,
'_seq_no': 0,
'_primary_term': 1,
'পাওয়া': সত্য,
'_সূত্র': {
'সময়কাল': '৯০ মিনিট',
'listed_in': 'ডকুমেন্টারি',
'দেশ: মার্কিন যুক্তরাষ্ট্র',
'date_added': 'সেপ্টেম্বর 25, 2021',
'show_id': 's1',
'পরিচালক': 'কার্স্টেন জনসন',
'মুক্তির_বছর': 2020,
'রেটিং': 'PG-13',
'description': 'তার বাবা যখন তার জীবনের শেষের দিকে এগিয়ে আসছেন, তখন চলচ্চিত্র নির্মাতা কার্স্টেন জনসন উদ্ভাবনী এবং হাস্যকর উপায়ে তার মৃত্যুকে তাদের উভয়কেই অনিবার্য মোকাবেলায় সাহায্য করার জন্য মঞ্চস্থ করেন।',
'type': 'সিনেমা',
'শিরোনাম': 'ডিক জনসন মারা গেছে'
}
},
{
'_index': 'নেটফ্লিক্স',
'_id': 'W3wnVoMBck2AEzXPytlJ',
'_সংস্করণ': ১,
'_seq_no': 12,
'_primary_term': 1,
'পাওয়া': সত্য,
'_সূত্র': {
'দেশ': 'জার্মানি, চেক প্রজাতন্ত্র',
'show_id': 's13',
'পরিচালক': 'ক্রিশ্চিয়ান শোচো',
'মুক্তির_বছর': 2021,
'রেটিং': 'টিভি-এমএ',
'description': 'একটি সন্ত্রাসী বোমা হামলায় তার পরিবারের বেশিরভাগ সদস্য নিহত হওয়ার পর, একজন তরুণীকে অজান্তে সেই দলে যোগদানের জন্য প্রলুব্ধ করা হয়েছে যেটি তাদের হত্যা করেছে।',
'type': 'সিনেমা',
'শিরোনাম': 'আমি কার্ল',
'সময়কাল': '127 মিনিট',
'listed_in': 'নাটক, আন্তর্জাতিক চলচ্চিত্র',
'কাস্ট': 'লুনা ওয়েডলার, জেনিস নিওহনার, মিলান পেশেল, এডিন হাসানোভিচ, আনা ফিয়ালোভা, মারলন বোয়েস, ভিক্টর বোকার্ড, ফ্লেউর গেফ্রিয়ার, আজিজ দিয়াব, মেলানি ফাউচে, এলিজাভেটা ম্যাক্সিমোভা',
'তারিখ_সংযোজিত': 'সেপ্টেম্বর 23, 2021'
}
}
]

}

আমরা নিম্নলিখিত হিসাবে দেখানো নথি আইডিগুলিকে একটি সাধারণ অ্যারেতে রেখে অনুরোধটিকে সহজ করতে পারি:

curl -XGET 'http://localhost:9200/netflix/_mget' -H 'kbn-xsrf: রিপোর্টিং' -H 'কন্টেন্ট-টাইপ: অ্যাপ্লিকেশন/json' -d'
{
'ids': ['T3wnVoMBck2AEzXPytlJ', 'W3wnVoMBck2AEzXPytlJ']
}'

পূর্ববর্তী অনুরোধ একটি অনুরূপ কর্ম সঞ্চালন করা উচিত.

উদাহরণ 2: একাধিক সূচক থেকে নথিগুলি আনুন

নিম্নলিখিত উদাহরণে, অনুরোধটি বিভিন্ন সূচক থেকে একাধিক নথি নিয়ে আসে যেমন দেখানো হয়েছে:

curl -XGET 'http://localhost:9200/_mget' -H 'kbn-xsrf: রিপোর্টিং' -H 'কন্টেন্ট-টাইপ: অ্যাপ্লিকেশন/json' -d'
{
'ডক্স': [
{
'_index': 'নেটফ্লিক্স',
'_id': 'T3wnVoMBck2AEzXPytlJ'
},
{
'_index': 'ডিজনি',
'_id': '8j4wWoMB1yF5VqfaKCE4'
}
]
}'

ফলস্বরূপ আউটপুট দেখানো হয়েছে:

উদাহরণ 3: নির্দিষ্ট ক্ষেত্রগুলি বাদ দিন

আমরা source_include এবং source_exclude প্যারামিটার ব্যবহার করে একটি প্রদত্ত অনুরোধ থেকে নির্দিষ্ট ক্ষেত্রগুলি বাদ দিতে পারি।

একটি উদাহরণ দেখানো হয়েছে:

curl -XGET 'http://localhost:9200/_mget' -H 'kbn-xsrf: রিপোর্টিং' -H 'কন্টেন্ট-টাইপ: অ্যাপ্লিকেশন/json' -d'
{
'ডক্স': [
{
'_index': 'নেটফ্লিক্স',
'_id': 'T3wnVoMBck2AEzXPytlJ',
'_উৎস': মিথ্যা
},
{
'_index': 'নেটফ্লিক্স',
'_id': 'T3wnVoMBck2AEzXPytlJ',
'_সূত্র': {
'অন্তর্ভুক্ত': [ 'তালিকাভুক্ত_ইন', 'রিলিজ_বছর', 'শিরোনাম' ],
'বাদ': [ 'বিবরণ', 'প্রকার', 'তারিখ_যোগ করা' ]
}
}
]

}'

প্রদত্ত অনুরোধটি একটি প্রদত্ত নথিতে আপনি কোন ক্ষেত্রগুলি পুনরুদ্ধার করতে চান তা নির্দিষ্ট করার জন্য অন্তর্ভুক্ত এবং বাদ দেওয়ার উত্স ব্যবহার করে৷

ফলস্বরূপ আউটপুট দেখানো হয়েছে:

উপসংহার

এই পোস্টে, আমরা Elasticsearch মাল্টি-গেট API এর সাথে কাজ করার মৌলিক বিষয় নিয়ে আলোচনা করেছি যা আপনাকে তাদের আইডির উপর ভিত্তি করে বিভিন্ন উৎস থেকে একাধিক নথি আনতে দেয়। আরো তথ্যের জন্য অন্যান্য নথি অন্বেষণ করতে নির্দ্বিধায়.

শুভ কোডিং!