index-কে রেকর্ডের সমষ্টি, document-কে একটি JSON রেকর্ড এবং mapping-কে তার field ব্যাখ্যা করার নিয়ম ভাবুন।
একটি পণ্য দিয়ে শুরু করুন
{"name":"Blue shoes",
এই document একটি products index-এর অন্তর্ভুক্ত। এর mapping name-কে অনুসন্ধানযোগ্য text, price-কে সংখ্যা এবং created_at-কে তারিখ হিসেবে ঘোষণা করতে পারে।
ধরুন 200-এর কম দামের পণ্য চান। সংখ্যাসূচক price Elasticsearch-কে সংখ্যার তুলনা করতে দেয়। string রূপ অন্য ধরনের তুলনা করে এবং সংখ্যার range query-র ভালো বিকল্প নয়।
তাই একই ইনপুটের জন্যও যে অনুসন্ধানগুলো সমর্থন করতে চান সে অনুযায়ী mapping দরকার। শুধু JSON সব indexing আচরণ বর্ণনা করে না।
ডেটা এলে dynamic mapping স্বয়ংক্রিয়ভাবে field অনুমান করে। অনুসন্ধানী কাজে এটি সুবিধাজনক, কিন্তু শুরুর অপ্রত্যাশিত মান অনুপযুক্ত ধরন স্থির করতে পারে। পরিচিত প্রোডাকশন field স্পষ্টভাবে ঘোষণা করুন এবং ইচ্ছেমতো নতুন field-এর নাম নিয়ন্ত্রণ করুন।
field যোগ করা ও বিদ্যমান field-এর ধরন বদলানো আলাদা। দ্বিতীয়টির জন্য সাধারণত নতুন index বানিয়ে reindexing দিয়ে document কপি করতে হয়।
বিস্তারিত উত্তরসহ IT ইন্টারভিউ প্রশ্নের একটি লাইব্রেরি — জুনিয়র থেকে সিনিয়র পর্যন্ত।
দান করুন