অ্যাপাচি টিকা (Apache Tika) ব্যবহারকারীদের বিভিন্ন ধরনের ফাইল থেকে টেক্সট এবং মেটাডেটা এক্সট্র্যাক্ট করতে সাহায্য করে। তবে নির্দিষ্ট প্রয়োজন অনুযায়ী কনফিগারেশন (Configuration) এবং কাস্টমাইজেশন (Customization) করে Tika-কে আরও কার্যকরী করে তোলা যায়।
Tika Configuration কী?
Tika Configuration হল এমন একটি প্রক্রিয়া যেখানে Tika-র ডিফল্ট আচরণ পরিবর্তন করে নির্দিষ্ট প্রয়োজনীয়তা অনুযায়ী সেটআপ করা হয়। উদাহরণস্বরূপ:
- নির্দিষ্ট ফাইল টাইপ প্রসেসিং বন্ধ করা
- পারফরম্যান্স অপ্টিমাইজেশন
- পার্সার (Parser) বা ডিক্টেটর (Detector) সেটিং পরিবর্তন করা
Tika Customization কী?
Customization এর মাধ্যমে Tika-র Parser, Detector, এবং Content Handler এর জন্য নতুন ইমপ্লিমেন্টেশন যোগ করা হয়।
- নতুন ফাইল ফরম্যাট সাপোর্ট করা
- কাস্টম মেটাডেটা এক্সট্র্যাকশন
- Tika-র এক্সটেনশন তৈরি করা
Tika Configuration ফাইল
Tika কনফিগার করার জন্য tika-config.xml ফাইল ব্যবহার করা হয়। এটি কাস্টম পার্সার, ডিটেক্টর এবং হ্যান্ডলার সেটআপের জন্য ব্যবহৃত হয়।
উদাহরণ: নির্দিষ্ট পার্সার কনফিগার করা
নিচে একটি উদাহরণ দেওয়া হলো যেখানে Tika কনফিগার করা হয়েছে শুধুমাত্র PDF এবং Word Document প্রসেস করার জন্য।
tika-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<tikaConfig>
<parsers>
<parser class="org.apache.tika.parser.pdf.PDFParser"/>
<parser class="org.apache.tika.parser.microsoft.ooxml.OOXMLParser"/>
</parsers>
</tikaConfig>
কনফিগারেশন ফাইল ব্যবহার করা
আপনার Java প্রোগ্রামে এই কনফিগারেশন ফাইল লোড করতে নিচের মতো কোড ব্যবহার করতে হবে:
import org.apache.tika.Tika;
import org.apache.tika.config.TikaConfig;
import java.io.File;
public class CustomTikaExample {
public static void main(String[] args) throws Exception {
// কাস্টম Tika Configuration লোড করা
TikaConfig config = new TikaConfig("tika-config.xml");
Tika tika = new Tika(config);
// ফাইল থেকে টেক্সট এক্সট্র্যাক্ট করা
File file = new File("example.pdf");
String text = tika.parseToString(file);
// আউটপুট
System.out.println("Extracted Text: " + text);
}
}
Custom Parser যোগ করা
নতুন ধরনের ফাইল প্রসেস করতে Custom Parser তৈরি করা হয়। নিচে একটি উদাহরণ রয়েছে:
CustomParser.java
import org.apache.tika.parser.AbstractParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.sax.XHTMLContentHandler;
import org.xml.sax.ContentHandler;
import java.io.InputStream;
public class CustomParser extends AbstractParser {
@Override
public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) {
// কাস্টম লজিক এখানে যোগ করুন
try {
XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
xhtml.startDocument();
xhtml.element("p", "This is a custom parser output.");
xhtml.endDocument();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Custom Parser কনফিগার করা
tika-config.xml ফাইলে Custom Parser যোগ করুন:
<?xml version="1.0" encoding="UTF-8"?>
<tikaConfig>
<parsers>
<parser class="com.example.CustomParser"/>
</parsers>
</tikaConfig>
কনফিগারেশন অপশন
| অপশন | ব্যাখ্যা |
|---|---|
| Parsers | নির্দিষ্ট ফাইল ফরম্যাটের জন্য পার্সার নির্বাচন করা। |
| Detectors | ফাইল টাইপ সনাক্তকরণ পরিবর্তন করা। |
| Metadata Filter | মেটাডেটা ফিল্টার করে প্রয়োজনীয় তথ্য প্রদর্শন করা। |
| Custom Content Handler | Tika এর আউটপুট টেক্সট কাস্টমাইজ করা। |
| Encoding | নির্দিষ্ট ক্যারেক্টার এনকোডিং সেট করা। |
সারসংক্ষেপ
Apache Tika-র Configuration এবং Customization এর মাধ্যমে নির্দিষ্ট চাহিদা অনুযায়ী Tika-র কার্যক্ষমতা বাড়ানো সম্ভব। tika-config.xml ফাইল ব্যবহার করে পার্সার ও ডিটেক্টর কনফিগার করা যায় এবং কাস্টম পার্সার তৈরি করে নতুন ফাইল ফরম্যাট প্রসেস করা যায়। এটি Tika-কে আরও শক্তিশালী ও বহুমুখী টুলে পরিণত করে।