Apache Lucene হলো একটি ওপেন সোর্স, উচ্চ-ক্ষমতাসম্পন্ন তথ্য সন্ধান লাইব্রেরি যা মূলত Java ভিত্তিক। এটি মূলত টেক্সট অনুসন্ধানের জন্য ডিজাইন করা হয়েছে এবং ডেটা অনুসন্ধানের কার্যকারিতা সরবরাহ করে। Lucene ডেভেলপারদের জন্য একটি শক্তিশালী ফ্রেমওয়ার্ক, যা তাদের টেক্সট ডেটা ইন্ডেক্স করার এবং অনুসন্ধান করার সুযোগ দেয়।
Apache Lucene হলো একটি ওপেন সোর্স টেক্সট সার্চ ইঞ্জিন লাইব্রেরি, যা Java প্রোগ্রামিং ভাষায় লেখা হয়েছে। এটি মূলত ডেভেলপারদের জন্য ডিজাইন করা হয়েছে, যারা তাদের অ্যাপ্লিকেশনে ফুল-টেক্সট সার্চ এবং ইনডেক্সিং ফিচার যুক্ত করতে চান। Lucene এর মাধ্যমে ডেভেলপাররা তাদের অ্যাপ্লিকেশনে শক্তিশালী এবং কাস্টমাইজড সার্চ ইঞ্জিন তৈরি করতে পারেন। এটি বড় আকারের ডেটা, ডকুমেন্ট, এবং টেক্সট ফাইলগুলিতে দ্রুত এবং নির্ভুল সার্চ ফলাফল প্রদান করতে সক্ষম।
Lucene মূলত দুটি প্রধান কাজ করে:
Lucene এর কিছু গুরুত্বপূর্ণ উপাদান হলো:
ধাপ ১: Lucene ডিপেন্ডেন্সি যোগ করা
আপনি যদি Maven ব্যবহার করেন, তবে আপনার pom.xml ফাইলে Lucene এর ডিপেন্ডেন্সি যোগ করুন:
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>8.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>8.11.0</version>
</dependency>
ধাপ ২: ইনডেক্স তৈরি করা
নিচে Lucene ব্যবহার করে কিভাবে একটি সাধারণ ডকুমেন্ট ইনডেক্স করা যায় তার উদাহরণ দেখানো হলো
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
public class LuceneExample {
public static void main(String[] args) {
try {
// Analyzer তৈরি করা
StandardAnalyzer analyzer = new StandardAnalyzer();
// ইনডেক্স স্টোর করার জন্য একটি ডিরেক্টরি তৈরি করা
Directory index = new RAMDirectory();
// ইনডেক্স রাইটার কনফিগারেশন তৈরি করা
IndexWriterConfig config = new IndexWriterConfig(analyzer);
// ইনডেক্স রাইটার তৈরি করা
IndexWriter writer = new IndexWriter(index, config);
// ডকুমেন্ট তৈরি করা
Document doc = new Document();
doc.add(new TextField("title", "Apache Lucene Tutorial", Field.Store.YES));
doc.add(new TextField("content", "Lucene is a powerful Java library for full-text indexing and searching.", Field.Store.YES));
// ডকুমেন্ট ইনডেক্স করা
writer.addDocument(doc);
writer.close();
// সার্চ করা
String querystr = "powerful";
// কুইরি তৈরি করা
Query q = new QueryParser("content", analyzer).parse(querystr);
// ইনডেক্স রিডার তৈরি করা
DirectoryReader reader = DirectoryReader.open(index);
IndexSearcher searcher = new IndexSearcher(reader);
// সার্চ করা
TopDocs docs = searcher.search(q, 10);
ScoreDoc[] hits = docs.scoreDocs;
// সার্চ রেজাল্ট দেখানো
System.out.println("Found " + hits.length + " hits.");
for (int i = 0; i < hits.length; ++i) {
int docId = hits[i].doc;
Document d = searcher.doc(docId);
System.out.println((i + 1) + ". " + d.get("title") + "\t" + d.get("content"));
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
কোড ব্যাখ্যা
আউটপুট:
Found 1 hits.
1. Apache Lucene Tutorial Lucene is a powerful Java library for full-text indexing and searching.
সুবিধা:
অসুবিধা:
Apache Lucene হলো একটি শক্তিশালী এবং ওপেন সোর্স টেক্সট সার্চ ইঞ্জিন লাইব্রেরি, যা ডেভেলপারদের সহজে কাস্টম সার্চ ইঞ্জিন তৈরি করতে সহায়তা করে। এটি বড় আকারের ডেটা ইনডেক্স এবং সার্চের জন্য ডিজাইন করা হয়েছে এবং এটি অত্যন্ত উচ্চ গতি এবং কার্যক্ষমতা প্রদান করে। Lucene এর মাধ্যমে ডেভেলপাররা তাদের অ্যাপ্লিকেশনে অত্যন্ত নির্ভুল সার্চ ফিচার যুক্ত করতে পারেন এবং এটি ব্যবহার করে সহজেই ফুল-টেক্সট সার্চ ইমপ্লিমেন্ট করতে পারেন।
Apache Lucene হলো একটি ওপেন সোর্স, উচ্চ-ক্ষমতাসম্পন্ন তথ্য সন্ধান লাইব্রেরি যা মূলত Java ভিত্তিক। এটি মূলত টেক্সট অনুসন্ধানের জন্য ডিজাইন করা হয়েছে এবং ডেটা অনুসন্ধানের কার্যকারিতা সরবরাহ করে। Lucene ডেভেলপারদের জন্য একটি শক্তিশালী ফ্রেমওয়ার্ক, যা তাদের টেক্সট ডেটা ইন্ডেক্স করার এবং অনুসন্ধান করার সুযোগ দেয়।
Apache Lucene হলো একটি ওপেন সোর্স টেক্সট সার্চ ইঞ্জিন লাইব্রেরি, যা Java প্রোগ্রামিং ভাষায় লেখা হয়েছে। এটি মূলত ডেভেলপারদের জন্য ডিজাইন করা হয়েছে, যারা তাদের অ্যাপ্লিকেশনে ফুল-টেক্সট সার্চ এবং ইনডেক্সিং ফিচার যুক্ত করতে চান। Lucene এর মাধ্যমে ডেভেলপাররা তাদের অ্যাপ্লিকেশনে শক্তিশালী এবং কাস্টমাইজড সার্চ ইঞ্জিন তৈরি করতে পারেন। এটি বড় আকারের ডেটা, ডকুমেন্ট, এবং টেক্সট ফাইলগুলিতে দ্রুত এবং নির্ভুল সার্চ ফলাফল প্রদান করতে সক্ষম।
Lucene মূলত দুটি প্রধান কাজ করে:
Lucene এর কিছু গুরুত্বপূর্ণ উপাদান হলো:
ধাপ ১: Lucene ডিপেন্ডেন্সি যোগ করা
আপনি যদি Maven ব্যবহার করেন, তবে আপনার pom.xml ফাইলে Lucene এর ডিপেন্ডেন্সি যোগ করুন:
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>8.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>8.11.0</version>
</dependency>
ধাপ ২: ইনডেক্স তৈরি করা
নিচে Lucene ব্যবহার করে কিভাবে একটি সাধারণ ডকুমেন্ট ইনডেক্স করা যায় তার উদাহরণ দেখানো হলো
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
public class LuceneExample {
public static void main(String[] args) {
try {
// Analyzer তৈরি করা
StandardAnalyzer analyzer = new StandardAnalyzer();
// ইনডেক্স স্টোর করার জন্য একটি ডিরেক্টরি তৈরি করা
Directory index = new RAMDirectory();
// ইনডেক্স রাইটার কনফিগারেশন তৈরি করা
IndexWriterConfig config = new IndexWriterConfig(analyzer);
// ইনডেক্স রাইটার তৈরি করা
IndexWriter writer = new IndexWriter(index, config);
// ডকুমেন্ট তৈরি করা
Document doc = new Document();
doc.add(new TextField("title", "Apache Lucene Tutorial", Field.Store.YES));
doc.add(new TextField("content", "Lucene is a powerful Java library for full-text indexing and searching.", Field.Store.YES));
// ডকুমেন্ট ইনডেক্স করা
writer.addDocument(doc);
writer.close();
// সার্চ করা
String querystr = "powerful";
// কুইরি তৈরি করা
Query q = new QueryParser("content", analyzer).parse(querystr);
// ইনডেক্স রিডার তৈরি করা
DirectoryReader reader = DirectoryReader.open(index);
IndexSearcher searcher = new IndexSearcher(reader);
// সার্চ করা
TopDocs docs = searcher.search(q, 10);
ScoreDoc[] hits = docs.scoreDocs;
// সার্চ রেজাল্ট দেখানো
System.out.println("Found " + hits.length + " hits.");
for (int i = 0; i < hits.length; ++i) {
int docId = hits[i].doc;
Document d = searcher.doc(docId);
System.out.println((i + 1) + ". " + d.get("title") + "\t" + d.get("content"));
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
কোড ব্যাখ্যা
আউটপুট:
Found 1 hits.
1. Apache Lucene Tutorial Lucene is a powerful Java library for full-text indexing and searching.
সুবিধা:
অসুবিধা:
Apache Lucene হলো একটি শক্তিশালী এবং ওপেন সোর্স টেক্সট সার্চ ইঞ্জিন লাইব্রেরি, যা ডেভেলপারদের সহজে কাস্টম সার্চ ইঞ্জিন তৈরি করতে সহায়তা করে। এটি বড় আকারের ডেটা ইনডেক্স এবং সার্চের জন্য ডিজাইন করা হয়েছে এবং এটি অত্যন্ত উচ্চ গতি এবং কার্যক্ষমতা প্রদান করে। Lucene এর মাধ্যমে ডেভেলপাররা তাদের অ্যাপ্লিকেশনে অত্যন্ত নির্ভুল সার্চ ফিচার যুক্ত করতে পারেন এবং এটি ব্যবহার করে সহজেই ফুল-টেক্সট সার্চ ইমপ্লিমেন্ট করতে পারেন।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?