Full-text এবং Structured Search Elasticsearch-এর দুটি ভিন্ন ধরনের অনুসন্ধান পদ্ধতি, এবং এদের প্রতিটির নিজস্ব ব্যবহার ক্ষেত্র রয়েছে। চলুন, এদের সম্পর্কে বিস্তারিত আলোচনা করা যাক:
Full-text Search এমন একটি পদ্ধতি যেখানে কোন ডকুমেন্টের ভেতরের টেক্সট থেকে নির্দিষ্ট শব্দ বা কীওয়ার্ড খোঁজা হয়। এটি সাধারণত বৃহৎ পরিমাণের টেক্সট ডাটা যেমন আর্টিকেল, ব্লগ পোস্ট, প্রোডাক্ট ডেসক্রিপশন, ইত্যাদি-তে ব্যবহার করা হয়।
Elasticsearch-এর inverted index ব্যবহার করে Full-text Search পরিচালিত হয়, যা দ্রুত এবং কার্যকরীভাবে ডকুমেন্টে থাকা শব্দগুলি খুঁজে বের করতে সাহায্য করে।
উদাহরণ: যদি আপনার একটি ব্লগ ডাটাবেস থাকে এবং আপনি "Elasticsearch tutorial" কীওয়ার্ড দিয়ে সার্চ করতে চান, তাহলে Full-text Search সেই ডকুমেন্টগুলি খুঁজে বের করবে যেগুলিতে এই শব্দগুলো উপস্থিত আছে।
Full-text Search-এর ফিচার:
Full-text Search উদাহরণ:
{
"query": {
"match": {
"content": "Elasticsearch tutorial"
}
}
}
এখানে match কোয়েরি ব্যবহার করা হয়েছে যাতে content ফিল্ডে থাকা ডকুমেন্টগুলি খুঁজে বের হয় যেগুলিতে "Elasticsearch tutorial" শব্দটি উপস্থিত রয়েছে।
Structured Search এমন এক ধরনের অনুসন্ধান যেখানে আপনার ডকুমেন্টে থাকা নির্দিষ্ট ফিল্ড বা অ্যাট্রিবিউটের উপর ভিত্তি করে সার্চ করা হয়। এটি সাধারণত এমন ডাটা খোঁজার জন্য ব্যবহার করা হয় যা স্পষ্টভাবে সংজ্ঞায়িত (structured) এবং একটি নির্দিষ্ট ফিল্ডে সংরক্ষিত থাকে। উদাহরণস্বরূপ, প্রোডাক্ট আইডি, ক্যাটেগরি, ডেট টাইম, স্ট্যাটাস ইত্যাদি।
Structured Search এর কিছু সাধারণ ব্যবহার ক্ষেত্র:
Structured Search উদাহরণ:
{
"query": {
"bool": {
"filter": [
{ "term": { "status": "published" } },
{ "range": { "price": { "gte": 100, "lte": 500 } } }
]
}
}
}
উপরের উদাহরণে:
বৈশিষ্ট্য | Full-text Search | Structured Search |
---|---|---|
কোয়েরি পদ্ধতি | Inverted Index ব্যবহার করে শব্দ অনুসন্ধান | ফিল্ড-ভিত্তিক সার্চ (Term, Range, ইত্যাদি) |
ডাটা টাইপ | আনস্ট্রাকচারড বা টেক্সট ডাটা | স্ট্রাকচারড বা নির্দিষ্ট ফিল্ডভিত্তিক ডাটা |
ফিল্ড এবং রেঞ্জ সার্পোট | সাধারণত বড় টেক্সট ফিল্ডে প্রয়োগ হয় | নির্দিষ্ট ফিল্ড (সংখ্যা, ডেট, স্ট্যাটাস) |
রিলেভেন্স স্কোর | রিলেভেন্স স্কোর এবং র্যাঙ্কিং সমর্থন করে | সাধারণত রিলেভেন্স স্কোর প্রয়োজন হয় না |
Elasticsearch-এ Full-text Search এবং Structured Search একসাথে বা আলাদা ভাবে ব্যবহার করা যায়, যা আপনার ডাটার ওপর ভিত্তি করে দ্রুত এবং কার্যকর অনুসন্ধান করতে সাহায্য করে। Full-text Search সাধারণত বড় এবং আনস্ট্রাকচারড টেক্সট ডাটার জন্য ব্যবহার করা হয়, যেখানে Structured Search ব্যবহৃত হয় নির্দিষ্ট এবং স্ট্রাকচারড ফিল্ডের ওপর অনুসন্ধান করার জন্য।
আরও দেখুন...