অ্যাপাচি সলর (Apache Solr) হল একটি ওপেন-সোর্স সার্চ প্ল্যাটফর্ম যা Apache Lucene এর উপর ভিত্তি করে তৈরি এবং এটি ডেটা ইনডেক্সিং এবং দ্রুত সার্চ কার্যক্রমের জন্য ব্যবহৃত হয়। সলর সার্চ কুয়েরি ভাষা (Solr Query Language) ব্যবহার করে ডেটার উপর বিভিন্ন অনুসন্ধান এবং ফিল্টার অপারেশন করা যায়। সলরের কুয়েরি গুলি সাধারণত HTTP রিকোয়েস্টের মাধ্যমে পাঠানো হয় এবং সলর তার উত্তরের মাধ্যমে ডেটা প্রদান করে।
এই টিউটোরিয়ালে আমরা সলরের বেসিক কুয়েরি অপারেশনগুলোর মধ্যে q, fq, sort, এবং rows কিভাবে কাজ করে এবং এগুলি ব্যবহার করে কীভাবে সার্চ কুয়েরি তৈরি করা যায় তা আলোচনা করব।
1. q - Query Parameter
q (query) প্যারামিটার সলরে প্রধান সার্চ কুয়েরি তৈরি করতে ব্যবহৃত হয়। এটি একটি সাধারণ প্যারামিটার যা সলরের সার্চ রিকোয়েস্টের মাধ্যমে পাঠানো হয় এবং ইনডেক্স থেকে সার্চ ফলাফল বের করে আনে।
q এর ব্যবহার:
- বেসিক সার্চ কুয়েরি:
এই কুয়েরি দিয়ে আপনি নির্দিষ্ট ফিল্ডের উপর সার্চ করতে পারেন। যদি আপনি কোনও ফিল্ড নির্দিষ্ট না করেন তবে এটি সব ফিল্ডে সার্চ করবে।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=apple
এখানে, q=apple দিয়ে "apple" শব্দটি সলরের সব ফিল্ডে অনুসন্ধান করবে এবং এর সাথে সম্পর্কিত সমস্ত ডেটা প্রদান করবে।
- ফিল্ড নির্দিষ্ট করা:
আপনি যদি একটি নির্দিষ্ট ফিল্ডে সার্চ করতে চান তবে ফিল্ড নামের সাথে কুয়েরি করতে হবে।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=title:apple
এখানে, title:apple কুয়েরি শুধুমাত্র title ফিল্ডে "apple" শব্দটি অনুসন্ধান করবে।
2. fq - Filter Query
fq (filter query) প্যারামিটারটি সার্চের ফলাফলকে আরও সঠিকভাবে সীমাবদ্ধ করতে ব্যবহৃত হয়। এটি মূল সার্চ কুয়েরির সাথে যোগ করা হয়, তবে এটি সার্চ কুয়েরির অংশ নয়, বরং ফিল্টার হিসেবে কাজ করে। fq প্যারামিটারটি সাধারণত দ্রুত সার্চ ফলাফল পাওয়ার জন্য ব্যবহৃত হয়, কারণ এটি সার্চ কোয়েরির ফলাফলকে আরও নির্দিষ্ট করে এবং ইনডেক্স থেকে কেবল প্রাসঙ্গিক ডেটা নিয়ে আসে।
fq এর ব্যবহার:
- ফিল্টার কুয়েরি যোগ করা:
ফিল্টার কুয়েরি ব্যবহার করে আপনি কিছু শর্ত যোগ করতে পারেন যাতে সার্চ রেজাল্ট আরও নির্দিষ্ট হয়।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=apple&fq=category:fruit
এখানে, fq=category:fruit কুয়েরি ব্যবহার করে "apple" এর সাথে শুধু সেই ডেটাগুলিই রিটার্ন হবে যেগুলোর category ফিল্ডে "fruit" লেখা রয়েছে।
- মাল্টিপল ফিল্টার কুয়েরি:
একাধিক ফিল্টার কুয়েরি ব্যবহার করা যেতে পারে।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=apple&fq=category:fruit&fq=price:[10 TO 20]
এখানে, fq=category:fruit এবং fq=price:[10 TO 20] কুয়েরি ব্যবহার করে "apple" এর সাথে সেই ডেটা রিটার্ন হবে যেগুলোর category ফিল্ডে "fruit" এবং price ফিল্ডে 10 থেকে 20 এর মধ্যে মান রয়েছে।
3. sort - Sorting the Results
sort প্যারামিটারটি সার্চের ফলাফলকে নির্দিষ্ট ক্রমে সাজানোর জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীর কাছে প্রাসঙ্গিক ডেটা সঠিকভাবে উপস্থাপন করতে সহায়তা করে। আপনি প্রাসঙ্গিকতা, তারিখ, বা অন্য যে কোনও ফিল্ডের ভিত্তিতে ফলাফল সাজাতে পারেন।
sort এর ব্যবহার:
- বেসিক সোর্টিং:
আপনি সার্চ রেজাল্টকে একটি নির্দিষ্ট ফিল্ড বা কাস্টম রিলেভ্যান্স স্কোরে সাজাতে পারেন।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=apple&sort=price asc
এখানে, sort=price asc সার্চ রেজাল্টগুলোকে price ফিল্ডের ascending (asc) অর্ডারে সাজাবে।
- ডিসেন্ডিং অর্ডারে সোর্টিং:
আপনি যদি সার্চ রেজাল্টকে descending (desc) অর্ডারে সাজাতে চান তবে desc ব্যবহার করতে হবে।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=apple&sort=price desc
এখানে, sort=price desc সার্চ রেজাল্টগুলোকে price ফিল্ডের descending (desc) অর্ডারে সাজাবে।
- মাল্টিপল ফিল্ডে সোর্টিং:
একাধিক ফিল্ডে সোর্ট করতে পারেন।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=apple&sort=price asc, date desc
এখানে, sort=price asc, date desc কুয়েরি ব্যবহার করে প্রথমে price ফিল্ডে ascending এবং তারপর date ফিল্ডে descending অর্ডারে সাজানো হবে।
4. rows - Number of Results per Page
rows প্যারামিটারটি সার্চ রেজাল্টের পৃষ্ঠার জন্য ফলাফলের সংখ্যা নির্ধারণ করতে ব্যবহৃত হয়। এটি সার্চ রিকোয়েস্টের মাধ্যমে যতগুলো রেকর্ড রিটার্ন হবে তা নির্ধারণ করে।
rows এর ব্যবহার:
- ফলাফল সংখ্যা নির্ধারণ করা:
আপনি যদি প্রতি পৃষ্ঠায় 10, 20, বা নির্দিষ্ট সংখ্যক ফলাফল দেখতে চান তবেrowsপ্যারামিটার ব্যবহার করবেন।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=apple&rows=10
এখানে, rows=10 কুয়েরি ব্যবহার করে সার্চ রেজাল্টের প্রথম 10টি রেকর্ড রিটার্ন হবে।
- এলোমেলো পৃষ্ঠায় ফলাফল দেখতে:
যদি আপনি পৃষ্ঠায় পরবর্তী রেজাল্ট দেখতে চান তবে start প্যারামিটার ব্যবহার করতে পারেন।
উদাহরণ:
http://localhost:8983/solr/your_core/select?q=apple&rows=10&start=10
এখানে, start=10 কুয়েরি ব্যবহার করে 11তম রেজাল্ট থেকে 10টি ফলাফল (11 থেকে 20 পর্যন্ত) রিটার্ন হবে।
সারাংশ
q, fq, sort, এবং rows সলরের বেসিক কুয়েরি অপারেশন, যা আপনি সার্চ কুয়েরি তৈরিতে ব্যবহার করতে পারেন।
qপ্যারামিটারটি মূল সার্চ কুয়েরি পরিচালনা করে।fqফিল্টার কুয়েরি ব্যবহৃত হয় সার্চ রেজাল্ট আরও নির্দিষ্ট করার জন্য।sortপ্যারামিটারটি সার্চ রেজাল্ট সাজানোর জন্য ব্যবহৃত হয়।rowsপ্যারামিটারটি সার্চ রেজাল্টের পৃষ্ঠার ফলাফলের সংখ্যা নির্ধারণ করে।
এই অপারেশনগুলো সলরের কার্যকারিতা এবং সার্চের সঠিকতা বৃদ্ধি করতে সাহায্য করে এবং আপনাকে আপনার প্রয়োজন অনুসারে ডেটার ওপর বিস্তারিত অনুসন্ধান এবং ফিল্টার করতে সহায়তা করে।
Read more