Lucene তে Query Types এর ধারণা

Query Types এবং Filters - লুসিন (Lucene) - Java Technologies

317

Apache Lucene একটি ওপেন সোর্স লাইব্রেরি যা টেক্সট সার্চ ইঞ্জিন তৈরিতে ব্যবহৃত হয়। এটি একাধিক ডকুমেন্টের মধ্যে দ্রুত এবং দক্ষভাবে অনুসন্ধান করতে সক্ষম। Lucene তে Query Types ব্যবহার করে বিভিন্ন ধরণের অনুসন্ধান কিউরি তৈরি করা হয় যা ডকুমেন্টের মধ্যে তথ্য খোঁজার প্রক্রিয়া সহজ এবং শক্তিশালী করে।

Lucene তে বিভিন্ন ধরনের কিউরি রয়েছে, যা বিভিন্ন অনুসন্ধান প্রক্রিয়া এবং সিচুয়েশনের জন্য ব্যবহৃত হয়। এই কিউরি টিপস ব্যবহার করে আপনি ডেটার মধ্যে নিখুঁত অনুসন্ধান পরিচালনা করতে পারেন। এই টিউটোরিয়ালে, আমরা Lucene Query Types এর ধারণা এবং প্রতিটি কিউরি টাইপের কাজ দেখব।


১. Lucene Query Types

Lucene তে বিভিন্ন ধরনের কিউরি ব্যবহৃত হয় যা ডেটার মধ্যে অনুসন্ধান করতে সক্ষম। এই কিউরি টিপসের মধ্যে সবচেয়ে প্রচলিত কিছু হল:

  1. Term Query
  2. Phrase Query
  3. Boolean Query
  4. Range Query
  5. Wildcard Query
  6. Fuzzy Query
  7. Prefix Query
  8. Regexp Query

২. Term Query

Term Query হল সবচেয়ে সাধারণ এবং মৌলিক কিউরি, যেখানে একটি নির্দিষ্ট শব্দ বা টার্ম অনুসন্ধান করা হয়।

উদাহরণ:

Query query = new TermQuery(new Term("content", "lucene"));

এখানে, content ফিল্ডে lucene টার্মটি অনুসন্ধান করা হচ্ছে। এটি ডকুমেন্টে সঠিক টার্মের উপস্থিতি পরীক্ষা করে।


৩. Phrase Query

Phrase Query এক বা একাধিক শব্দের সিকোয়েন্স বা ফ্রেজ অনুসন্ধান করতে ব্যবহৃত হয়। এটি সাধারণত শব্দের সঠিক অর্ডারে উপস্থিতি যাচাই করে।

উদাহরণ:

Query query = new PhraseQuery("content", "apache", "lucene");

এখানে, content ফিল্ডে apache lucene এই দুইটি শব্দ সঠিক অর্ডারে থাকতে হবে।


৪. Boolean Query

Boolean Query একাধিক কিউরি কন্ডিশনকে সংযুক্ত করতে ব্যবহৃত হয়, যেখানে AND, OR, NOT অপারেটর ব্যবহার করা হয়। এটি জটিল অনুসন্ধান তৈরি করতে সহায়ক।

উদাহরণ:

BooleanQuery.Builder builder = new BooleanQuery.Builder();
builder.add(new TermQuery(new Term("content", "lucene")), BooleanClause.Occur.MUST);
builder.add(new TermQuery(new Term("content", "search")), BooleanClause.Occur.MUST_NOT);
Query query = builder.build();

এখানে, প্রথমে lucene শব্দটি থাকতে হবে এবং পরে search শব্দটি থাকা যাবে না। MUST এবং MUST_NOT অপারেটর ব্যবহার করা হয়েছে।


৫. Range Query

Range Query একটি নির্দিষ্ট রেঞ্জের মধ্যে মান অনুসন্ধান করতে ব্যবহৃত হয়, যেমন সংখ্যা বা তারিখ। এটি বিভিন্ন রেঞ্জে ডেটা খুঁজে বের করতে সহায়তা করে।

উদাহরণ:

Query query = IntPoint.newRangeQuery("price", 10, 100);

এখানে, price ফিল্ডে 10 থেকে 100 এর মধ্যে মান অনুসন্ধান করা হচ্ছে।


৬. Wildcard Query

Wildcard Query বিশেষ চিহ্ন যেমন * (অজ্ঞাত কোনো সংখ্যা বা শব্দের জন্য) বা ? (একটি অক্ষরের জন্য) ব্যবহার করে অনুসন্ধান করতে সহায়তা করে। এটি ব্যবহারকারীদের অজানা বা পরিবর্তিত মান অনুসন্ধান করতে সহায়তা করে।

উদাহরণ:

Query query = new WildcardQuery(new Term("content", "luc*"));

এখানে, content ফিল্ডে যেকোনো শব্দ যেটি luc দিয়ে শুরু হয়, তা খুঁজে বের করা হবে।


৭. Fuzzy Query

Fuzzy Query শব্দের মধ্যে ছোটখাটো বানান ভুল বা ভিন্নতা থাকলে সেগুলোও মেলানোর জন্য ব্যবহৃত হয়। এটি শব্দের কাছাকাছি মিল খুঁজে বের করতে ব্যবহৃত হয়।

উদাহরণ:

Query query = new FuzzyQuery(new Term("content", "luncen"));

এখানে, luncen শব্দটির জন্য lucene সহ অন্যান্য কাছাকাছি শব্দ অনুসন্ধান করা হবে।


৮. Prefix Query

Prefix Query একটি নির্দিষ্ট শব্দের জন্য প্রিফিক্স অনুসন্ধান করতে ব্যবহৃত হয়, অর্থাৎ একটি শব্দের শুরুতে নির্দিষ্ট অংশের সাথে মিল খুঁজে বের করা হয়।

উদাহরণ:

Query query = new PrefixQuery(new Term("content", "luc"));

এখানে, content ফিল্ডে luc দিয়ে শুরু হওয়া যেকোনো শব্দ খুঁজে বের করা হবে।


৯. Regexp Query

Regexp Query একটি নিয়মিত এক্সপ্রেশন (Regular Expression) ব্যবহার করে অনুসন্ধান করতে ব্যবহৃত হয়। এটি একটি শক্তিশালী কিউরি, যেখানে আপনি জটিল শব্দের প্যাটার্ন অনুসন্ধান করতে পারেন।

উদাহরণ:

Query query = new RegexpQuery(new Term("content", "luc.*"));

এখানে, content ফিল্ডে luc দিয়ে শুরু হওয়া সমস্ত শব্দ যেগুলো কোনভাবে পরবর্তীতে কোনো চরিত্র অনুসরণ করে, তা খুঁজে বের করা হবে।


১০. Lucene Query Types এর ব্যবহার

Lucene তে বিভিন্ন কিউরি টাইপ ব্যবহার করে আপনি সহজে এবং দ্রুতভাবে ডেটা অনুসন্ধান করতে পারেন। আপনি চাইলে Boolean, Range, Fuzzy, Wildcard, Prefix, এবং Regexp কিউরি টাইপ ব্যবহার করে বিভিন্ন ধরনের অনুসন্ধান এবং ফিল্টারিং কার্যক্রম পরিচালনা করতে পারেন।

সারাংশ

Lucene Query Types আপনাকে বিভিন্ন ধরনের অনুসন্ধান পরিচালনা করার সুযোগ দেয়। আপনি Term Query, Phrase Query, Boolean Query, Wildcard Query, Fuzzy Query, Prefix Query, এবং Regexp Query এর মাধ্যমে আপনার প্রোজেক্টে পাওয়ারফুল টেক্সট অনুসন্ধান কার্যক্রম পরিচালনা করতে পারেন। এগুলো আপনার ডেটাবেসে অথবা ডকুমেন্টে তথ্য খুঁজে বের করতে কার্যকরী ভূমিকা পালন করে।


Content added By
Promotion

Are you sure to start over?

Loading...