REST API ব্যবহার করে Elasticsearch এর সাথে যোগাযোগ

REST API ব্যবহার করে Elasticsearch এর সাথে যোগাযোগ

Elasticsearch একটি RESTful সার্চ এবং অ্যানালিটিক্স ইঞ্জিন, যা REST API এর মাধ্যমে ডেটা ইন্ডেক্সিং, সার্চ, এবং ডেটা ম্যানিপুলেশন পরিচালনা করে। REST API ব্যবহার করে Elasticsearch এর সাথে HTTP রিকোয়েস্ট (GET, POST, PUT, DELETE) পাঠিয়ে সহজেই যোগাযোগ করা যায়। Elasticsearch JSON ফরম্যাটে রিকোয়েস্ট গ্রহণ করে এবং রেসপন্স প্রদান করে। নিচে REST API ব্যবহার করে Elasticsearch এর সাথে যোগাযোগের বিস্তারিত ধাপ এবং উদাহরণ দেওয়া হলো:

১. REST API রিকোয়েস্ট পাঠানোর পদ্ধতি

REST API ব্যবহার করে Elasticsearch এর সাথে যোগাযোগ করতে নিম্নলিখিত HTTP মেথডগুলো ব্যবহার করা হয়:

  • GET: ডেটা রিট্রিভ করার জন্য।
  • POST: ডেটা তৈরি বা সার্চ অপারেশনের জন্য।
  • PUT: ডেটা আপডেট বা ইন্ডেক্স তৈরি করার জন্য।
  • DELETE: ডেটা বা ইন্ডেক্স মুছে ফেলার জন্য।

API রিকোয়েস্ট পাঠানোর জন্য আপনি cURL, Postman, বা ব্রাউজারের API ক্লায়েন্ট ব্যবহার করতে পারেন।

২. ইন্ডেক্স তৈরি করা (Create Index)

  • একটি নতুন ইন্ডেক্স তৈরি করতে HTTP PUT রিকোয়েস্ট ব্যবহার করুন:
PUT http://localhost:9200/my-index
  • রিকোয়েস্ট পাঠানোর পর, Elasticsearch acknowledged: true সহ একটি JSON রেসপন্স প্রদান করবে, যা ইন্ডেক্স সফলভাবে তৈরি হওয়ার ইঙ্গিত দেয়।

ইন্ডেক্সের কাস্টম সেটিংস সহ রিকোয়েস্ট

  • ইন্ডেক্সের শার্ড এবং রেপ্লিকা সংখ্যা নির্ধারণ করে ইন্ডেক্স তৈরি করতে:
PUT http://localhost:9200/my-index
{
 "settings": {
   "number_of_shards": 3,
   "number_of_replicas": 1
 }
}
  • এটি কনফিগার করা শার্ড এবং রেপ্লিকা নিয়ে ইন্ডেক্স তৈরি করবে।

৩. ডকুমেন্ট ইনডেক্স করা (Index a Document)

  • একটি ডকুমেন্ট ইনডেক্স করতে HTTP POST রিকোয়েস্ট ব্যবহার করুন:
POST http://localhost:9200/my-index/_doc/1
{
 "name": "John Doe",
 "age": 30,
 "occupation": "Software Engineer"
}
  • এখানে:
    • /my-index হলো ইন্ডেক্সের নাম।
    • /_doc/1 হলো ডকুমেন্টের ইউনিক আইডি।
  • রেসপন্সে ডকুমেন্টটি সফলভাবে ইনডেক্স হওয়ার স্ট্যাটাস দেখা যাবে।

৪. ডকুমেন্ট রিট্রিভ করা (Retrieve a Document)

  • একটি ডকুমেন্ট রিট্রিভ করতে HTTP GET রিকোয়েস্ট ব্যবহার করুন:
GET http://localhost:9200/my-index/_doc/1
  • এটি /my-index ইন্ডেক্স থেকে 1 আইডি সহ ডকুমেন্ট রিট্রিভ করবে এবং JSON ফরম্যাটে ডকুমেন্টের তথ্য প্রদর্শন করবে।

৫. ডকুমেন্ট আপডেট করা (Update a Document)

  • একটি ডকুমেন্ট আপডেট করতে HTTP POST রিকোয়েস্ট ব্যবহার করুন:
POST http://localhost:9200/my-index/_update/1
{
 "doc": {
   "age": 31,
   "occupation": "Senior Software Engineer"
 }
}
  • "doc" ফিল্ডের মাধ্যমে আপডেট করা তথ্য প্রদান করা হয়। Elasticsearch এটি আপডেট করে এবং একটি রেসপন্স প্রদান করে।

৬. ডকুমেন্ট ডিলিট করা (Delete a Document)

  • একটি ডকুমেন্ট ডিলিট করতে HTTP DELETE রিকোয়েস্ট ব্যবহার করুন:
DELETE http://localhost:9200/my-index/_doc/1
  • এটি 1 আইডি সহ ডকুমেন্টটি মুছে ফেলবে এবং একটি সফল রেসপন্স প্রদর্শন করবে।

৭. ইন্ডেক্স সার্চ করা (Search Index)

  • একটি ইন্ডেক্সে সার্চ করতে HTTP GET বা POST রিকোয়েস্ট ব্যবহার করা হয়:
GET http://localhost:9200/my-index/_search
{
 "query": {
   "match": {
     "occupation": "Software Engineer"
   }
 }
}
  • "match" কন্ডিশন ব্যবহার করে "occupation" ফিল্ডে "Software Engineer" টার্মের সাথে মিল খুঁজে বের করা হচ্ছে। সার্চ রেসপন্সে মিলে যাওয়া ডকুমেন্টগুলো JSON ফরম্যাটে প্রদর্শিত হবে।

৮. ফিল্টার এবং রেঞ্জ সার্চ (Filter and Range Search)

  • ডকুমেন্ট সার্চ করার সময় নির্দিষ্ট ফিল্ডে রেঞ্জ ব্যবহার করা যায়:
GET http://localhost:9200/my-index/_search
{
 "query": {
   "bool": {
     "must": [
       { "match": { "occupation": "Software Engineer" } }
     ],
     "filter": [
       { "range": { "age": { "gte": 25, "lte": 35 } } }
     ]
   }
 }
}
  • "bool" কন্ডিশন এবং "range" ফিল্টার ব্যবহার করে সার্চটি আরও নির্দিষ্ট করা হয়েছে।

৯. Bulk অপারেশন (Bulk Operations)

  • একাধিক ডকুমেন্ট ইনডেক্স বা ডিলিট করতে HTTP POST রিকোয়েস্ট ব্যবহার করে Bulk API চালাতে পারেন:
POST http://localhost:9200/_bulk
{ "index": { "_index": "my-index", "_id": "2" } }
{ "name": "Jane Doe", "age": 28, "occupation": "Data Scientist" }
{ "delete": { "_index": "my-index", "_id": "1" } }
  • এই রিকোয়েস্টে:
    • প্রথম ডকুমেন্ট ইনডেক্স করা হয়েছে।
    • দ্বিতীয় অপারেশনে 1 আইডি সহ ডকুমেন্ট ডিলিট করা হয়েছে।

১০. ক্লাস্টারের স্বাস্থ্য চেক করা (Check Cluster Health)

  • Elasticsearch ক্লাস্টারের স্বাস্থ্য চেক করতে HTTP GET রিকোয়েস্ট ব্যবহার করুন:
GET http://localhost:9200/_cluster/health
  • এটি ক্লাস্টারের সামগ্রিক স্বাস্থ্য, শার্ডের স্ট্যাটাস, এবং নোডের সংখ্যা সম্পর্কিত তথ্য প্রদান করবে।

১১. নোডের স্ট্যাটাস চেক করা (Check Node Status)

  • নোডের স্ট্যাটাস চেক করতে HTTP GET রিকোয়েস্ট ব্যবহার করুন:
GET http://localhost:9200/_nodes
  • এটি ক্লাস্টারে সংযুক্ত সব নোডের বিস্তারিত তথ্য, যেমন নোডের নাম, IP, এবং মেমোরি ব্যবহার সম্পর্কিত তথ্য প্রদর্শন করবে।

উপসংহার

REST API ব্যবহার করে Elasticsearch এর সাথে খুব সহজে যোগাযোগ করা যায়। ইন্ডেক্স তৈরি করা, ডকুমেন্ট ইনডেক্স করা, সার্চ অপারেশন চালানো, এবং ক্লাস্টারের স্বাস্থ্য চেক করার মতো কাজগুলো RESTful API ব্যবহার করে দ্রুত এবং কার্যকরভাবে করা যায়। JSON ফরম্যাটে রিকোয়েস্ট এবং রেসপন্স প্রদান করার কারণে এটি ডেটা ম্যানিপুলেশন এবং রিট্রিভালকে আরও সহজ করে তোলে।

Content added By

আরও দেখুন...

Promotion