PDF टेक्स्ट जावा निकालें – GroupDocs.Search के साथ इंडेक्स बनाएं
इस व्यावहारिक गाइड में आप PDF फ़ाइलों से how to extract pdf text java निकालना, निकाले गए कंटेंट को सीरियलाइज़ करना, और उच्च‑प्रदर्शन खोज योग्य इंडेक्स बनाना सीखेंगे। चाहे आप एक आंतरिक नॉलेज बेस, एक कॉन्ट्रैक्ट‑सर्च पोर्टल, या एक कस्टम सर्च इंजन बना रहे हों, नीचे दिए गए चरण आपको सब कुछ दिखाएंगे—PDF से टेक्स्ट निकालने से लेकर शक्तिशाली फुल‑टेक्स्ट क्वेरी चलाने तक। चलिए देखते हैं कि GroupDocs.Search पूरी प्रक्रिया को कैसे सुगम और स्केलेबल बनाता है।
त्वरित उत्तर
index.search मेथड बनाये गये इंडेक्स पर क्वेरी चलाता है और प्रासंगिकता स्कोर के साथ मिलते-जुलते दस्तावेज़ों की सूची लौटाता है।
- मुख्य उद्देश्य क्या है? PDF फ़ाइलों से pdf text java निकालना और GroupDocs.Search के साथ एक खोज योग्य दस्तावेज़ इंडेक्स बनाना।
- कौन सा लाइब्रेरी संस्करण? GroupDocs.Search 25.4 (या नवीनतम रिलीज़)।
- क्या मुझे लाइसेंस चाहिए? विकास के लिए एक फ्री ट्रायल काम करता है; उत्पादन के लिए पूर्ण लाइसेंस आवश्यक है।
- क्या मैं PDFs को इंडेक्स कर सकता हूँ? हाँ—PDF टेक्स्ट निकालें और उसे इंडेक्स में जोड़ें।
- मैं सर्च कैसे चलाऊँ? डेटा जोड़ने के बाद
index.search(query)मेथड का उपयोग करें।
दस्तावेज़ इंडेक्स क्या है?
दस्तावेज़ इंडेक्स आपके फ़ाइलों से निकाले गए खोज योग्य शब्दों का एक संरचित संग्रह है। यह प्रत्येक शब्द को उन दस्तावेज़ों से जोड़ता है जहाँ वह प्रकट होता है, जिससे बड़े रिपॉज़िटरीज़ में तेज़ फुल‑टेक्स्ट सर्च संभव हो जाता है और लुकअप समय मिनटों से मिलीसेकंड में घट जाता है, साथ ही रैंकिंग और प्रासंगिकता सुविधाएँ भी समर्थित होती हैं।
जावा के लिए GroupDocs.Search क्यों उपयोग करें?
GroupDocs.Search 50+ इनपुट और आउटपुट फ़ॉर्मैट को सपोर्ट करता है, मिलियन‑सँख्या दस्तावेज़ को बिना पूरी फ़ाइल को मेमोरी में लोड किए इंडेक्स कर सकता है, और बूलियन, वाइल्डकार्ड, तथा प्रॉक्सिमिटी ऑपरेटर्स के साथ समृद्ध क्वेरी भाषा प्रदान करता है। ये मापनीय क्षमताएँ इसे एंटरप्राइज़‑स्तर के सर्च समाधान के लिए आदर्श बनाती हैं। यह बहुभाषी कंटेंट के लिए सर्च सटीकता बढ़ाने हेतु बिल्ट‑इन भाषा पहचान, स्टेमिंग, और कस्टमाइज़ेबल एनालाइज़र भी प्रदान करता है।
पूर्वापेक्षाएँ
- GroupDocs.Search for Java (संस्करण 25.4 या नया)।
- Java Development Kit (JDK) जो आपके GroupDocs संस्करण के साथ संगत हो।
- IntelliJ IDEA या Eclipse जैसे IDE।
- डिपेंडेंसी मैनेजमेंट के लिए Maven।
GroupDocs.Search for Java सेटअप करना
पहले, लाइब्रेरी को अपने प्रोजेक्ट में जोड़ें।
Maven सेटअपpom.xml फ़ाइल में निम्नलिखित शामिल करें:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>
डायरेक्ट डाउनलोड
वैकल्पिक रूप से, नवीनतम संस्करण को GroupDocs.Search for Java releases से डाउनलोड करें।
लाइसेंस प्राप्त करना
- फ्री ट्रायल – एक अस्थायी लाइसेंस के साथ सभी फीचर टेस्ट करें।
- खरीदें – पूर्ण एक्सेस और प्रायोरिटी सपोर्ट प्राप्त करें।
PDFs (और अन्य दस्तावेज़) से टेक्स्ट कैसे निकालें
Extractor क्लास के साथ अपना PDF (या समर्थित दस्तावेज़) लोड करें, एक्सट्रैक्शन विकल्प कॉन्फ़िगर करें, और extractText() कॉल करें। यह एक‑लाइन कॉल रॉ या फ़ॉर्मेटेड टेक्स्ट लौटाता है जो इंडेक्सिंग के लिए तैयार है।
Extractor क्लास GroupDocs.Search का कोर कंपोनेंट है जो दस्तावेज़ पढ़ता है और साधारण या फ़ॉर्मेटेड टेक्स्ट उत्पन्न करता है।
// ```java
String documentPath = "YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf";
Extractor extractor = new Extractor();
Document document = Document.createFromFile(documentPath);
// ```java
ExtractionOptions extractionOptions = new ExtractionOptions();
extractionOptions.setUseRawTextExtraction(false); // Extract with formatting
ExtractedData extractedData = extractor.extract(document, extractionOptions);
टिप: यदि आपको फ़ॉर्मेटिंग के बिना साधारण टेक्स्ट चाहिए तो
setUseRawTextExtraction(true)सेट करें।
निकाले गए डेटा को सीरियलाइज़ कैसे करें
सीरियलाइज़ेशन निकाले गए टेक्स्ट ऑब्जेक्ट को बाइट एरे में बदलता है, जिससे आप इसे डिस्क पर स्टोर कर सकते हैं या बाद में इंडेक्सिंग के लिए नेटवर्क पर ट्रांसमिट कर सकते हैं।
SerializationUtil यूटिलिटी स्थैतिक मेथड्स प्रदान करती है जो ऑब्जेक्ट्स को बाइट स्ट्रीम में और वापस बदलते हैं।
// ```java
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();
निकाले गए डेटा को डीसिरियलाइज़ कैसे करें
जब आप इंडेक्स बनाना चाहते हैं, तो पहले स्टोर किए गए बाइट एरे को मूल एक्सट्रैक्शन ऑब्जेक्ट में डीसिरियलाइज़ करें।
deserialize मेथड एक्सट्रैक्शन परिणाम की सटीक स्थिति को पुनर्स्थापित करता है, जिससे सत्रों के बीच डेटा लॉस नहीं होता।
// ```java
ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);
दस्तावेज़ इंडेक्स कैसे बनाएं
Index ऑब्जेक्ट बनाएं, स्टोरेज फ़ोल्डर निर्दिष्ट करें, और टर्म वेक्टर और स्टॉप‑वर्ड हैंडलिंग जैसे इंडेक्सिंग विकल्प कॉन्फ़िगर करें।
Index क्लास एक खोज योग्य कंटेनर को दर्शाता है जो सभी शब्द, दस्तावेज़ रेफ़रेंसेज़, और मेटाडेटा रखता है।
// ```java
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);
डेटा को इंडेक्स में जोड़ें और सर्च करें
डीसिरियलाइज़्ड एक्सट्रैक्शन परिणाम को index.add() से इंडेक्स में जोड़ें, फिर तुरंत परिणामों के लिए index.search() का उपयोग करके क्वेरी करें।
add मेथड दस्तावेज़ के शब्दों को इंडेक्स में रजिस्टर करता है, जबकि search उन शब्दों के खिलाफ क्वेरी चलाता है।
// ```java
ExtractedData[] dataToIndex = new ExtractedData[] { deserializedData };
index.add(dataToIndex, new IndexingOptions());
// ```java
String query = "ipsum";
SearchResult result = index.search(query);
प्रो टिप: प्रासंगिकता रैंकिंग को फाइन‑ट्यून करने के लिए
index.search("your query", SearchOptions)का उपयोग करें।
सामान्य उपयोग केस
- डॉक्यूमेंट मैनेजमेंट सिस्टम – कॉन्ट्रैक्ट, इनवॉइस, या पॉलिसी को जल्दी ढूँढें।
- कंटेंट‑बेस्ड सर्च इंजन – फुल‑टेक्स्ट सर्च जावा क्षमताओं के साथ आंतरिक नॉलेज बेस को शक्ति दें।
- डेटा आर्काइविंग सॉल्यूशन्स – तुरंत रिट्रीवल के लिए ऐतिहासिक रिकॉर्ड्स को इंडेक्स करें।
प्रदर्शन संबंधी विचार
setStoreTermVectors(boolean) मेथड निर्धारित करता है कि टर्म वेक्टर इंडेक्स में स्टोर हों या नहीं, जिससे इंडेक्स आकार और क्वेरी प्रदर्शन प्रभावित होते हैं।
- मेमोरी मैनेजमेंट: 500 MB से बड़े बैच प्रोसेस करते समय JVM हीप साइज बढ़ाएँ (जैसे,
-Xmx4g)। - इंडेक्सिंग विकल्प: इंडेक्स आकार को 30 % तक कम करने के लिए टर्म वेक्टर डिसेबल करें (
setStoreTermVectors(false))। - नियमित अपडेट: GroupDocs.Search को अद्यतित रखें; प्रत्येक माइनर रिलीज़ में औसत‑केस गति सुधार 10‑15 % होते हैं।
अक्सर पूछे जाने वाले प्रश्न
प्रश्न: बहुत बड़े PDF फ़ाइलों को कुशलतापूर्वक कैसे हैंडल करें?
उत्तर: Extractor का उपयोग करके फ़ाइल को स्ट्रीम करें और उसे चंक्स में प्रोसेस करें; आवश्यकता होने पर JVM हीप भी बढ़ाएँ।
प्रश्न: क्या मैं सर्च क्वेरी सिंटैक्स को कस्टमाइज़ कर सकता हूँ?
उत्तर: हाँ—GroupDocs.Search बूलियन ऑपरेटर्स, वाइल्डकार्ड, और प्रॉक्सिमिटी सर्च को सपोर्ट करता है।
प्रश्न: यदि सीरियलाइज़ेशन फेल हो जाए तो क्या करना चाहिए?
उत्तर: सुनिश्चित करें कि सभी ऑब्जेक्ट्स Serializable को इम्प्लीमेंट करते हैं और विवरण लॉग करने के लिए IOException को कैच करें।
प्रश्न: क्या केवल दस्तावेज़ के विशिष्ट सेक्शन को ही इंडेक्स करना संभव है?
उत्तर: बिल्कुल—इंडेक्सिंग से पहले पेज़ या सेक्शन फ़िल्टर करने के लिए ExtractionOptions कॉन्फ़िगर करें।
प्रश्न: नए GroupDocs.Search संस्करण में अपग्रेड कैसे करें?
उत्तर: अपने pom.xml में संस्करण संख्या अपडेट करें और mvn clean install चलाएँ; ब्रेकिंग चेंजेज़ के लिए माइग्रेशन गाइड देखें।
संसाधन
- GroupDocs.Search for Java रिलीज़: GroupDocs.Search for Java releases
- डॉक्यूमेंटेशन: GroupDocs Documentation
- API रेफ़रेंस: GroupDocs API Reference
- डाउनलोड: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- फ़्री सपोर्ट: GroupDocs Forum
- टेम्पररी लाइसेंस: Obtain a Temporary License
अंतिम अपडेट: 2026-07-07
टेस्ट किया गया: GroupDocs.Search 25.4 for Java
लेखक: GroupDocs