GroupDocs.Search for Java के साथ दस्तावेज़ों को इंडेक्स करने का तरीका
आज के डेटा‑चालित विश्व में, दस्तावेज़ों को इंडेक्स करने की कुशलता किसी भी जावा डेवलपर के लिए एक महत्वपूर्ण कौशल है जो बड़ी फ़ाइल संग्रहों से निपटता है। चाहे आप कानूनी अनुबंध, वित्तीय विवरण, या आंतरिक रिपोर्टों को संभाल रहे हों, सही जानकारी को जल्दी से ढूँढ़ना कई घंटे के मैन्युअल काम को बचा सकता है। इस ट्यूटोरियल में आप GroupDocs.Search लाइब्रेरी का उपयोग करके दस्तावेज़ों को इंडेक्स करना सीखेंगे, और फिर बनाए गए इंडेक्स पर टेक्स्ट‑आधारित तथा ऑब्जेक्ट‑आधारित दोनों प्रकार की क्वेरीज़ चलाएंगे। चलिए शुरू करते हैं!
त्वरित उत्तर
- दस्तावेज़ों को इंडेक्स करने का पहला कदम क्या है? एक
Indexऑब्जेक्ट को इनिशियलाइज़ करें जो उस फ़ोल्डर की ओर इशारा करता हो जहाँ इंडेक्स संग्रहीत किया जाएगा। - कौन सी मेथड दस्तावेज़ों को इंडेक्स में जोड़ती है?
index.add("PATH_TO_DOCUMENTS")का उपयोग करें। - क्या मैं संख्यात्मक रेंज खोज सकता हूँ? हाँ,
"400 ~~ 4000"जैसी टेक्स्ट क्वेरी याSearchQuery.createNumericRangeQueryके माध्यम से ऑब्जेक्ट क्वेरी का उपयोग करके। - क्या मुझे लाइसेंस की आवश्यकता है? एक फ्री ट्रायल उपलब्ध है; एक कमर्शियल लाइसेंस पूरी सुविधाएँ अनलॉक करता है।
- कौन सा जावा संस्करण आवश्यक है? JDK 8 या उससे ऊपर।
GroupDocs.Search के साथ “दस्तावेज़ों को इंडेक्स करने” का क्या अर्थ है?
दस्तावेज़ों को इंडेक्स करना मतलब फ़ोल्डर में फ़ाइलों की सामग्री को स्कैन करना और खोज योग्य टोकन को एक समर्पित इंडेक्स फ़ोल्डर में संग्रहीत करना है। यह प्री‑प्रोसेसिंग चरण बाद में तेज़ लुक‑अप को सक्षम करता है, क्योंकि लाइब्रेरी हर बार कच्ची फ़ाइलों के बजाय तैयार किए गए इंडेक्स को खोजती है।
जावा के लिए GroupDocs.Search क्यों उपयोग करें?
- प्रदर्शन: हजारों फ़ाइलों पर भी सर्च मिलिसेकंड में चलती है।
- फ़ॉर्मेट समर्थन: PDFs, Word, Excel, PowerPoint, और कई अन्य फ़ॉर्मेट को संभालता है।
- लचीलापन: प्लेन‑टेक्स्ट क्वेरीज़, संख्यात्मक रेंज, और जटिल ऑब्जेक्ट क्वेरीज़ को सपोर्ट करता है।
- स्केलेबिलिटी: नई दस्तावेज़ जोड़कर इंडेक्स को आसानी से अपडेट किया जा सकता है बिना फिर से बिल्ड किए।
पूर्वापेक्षाएँ
- डिपेंडेंसी मैनेजमेंट के लिए Maven स्थापित हो।
- IntelliJ IDEA या Eclipse जैसे IDE।
- बेसिक जावा ज्ञान (OOP कॉन्सेप्ट्स, एक्सेप्शन हैंडलिंग)।
जावा के लिए GroupDocs.Search सेट अप करना
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>
डायरेक्ट डाउनलोड
आप नवीनतम JAR को GroupDocs.Search for Java releases से भी डाउनलोड कर सकते हैं।
लाइसेंस प्राप्त करने के चरण
- फ्री ट्रायल – लाइब्रेरी को बिना लागत के एक्सप्लोर करें।
- टेम्पररी लाइसेंस – विस्तारित मूल्यांकन के लिए शॉर्ट‑टर्म की का अनुरोध करें।
- पर्चेज – प्रोडक्शन उपयोग के लिए पूर्ण लाइसेंस प्राप्त करें।
बेसिक इनिशियलाइज़ेशन और सेटअप
इंडेक्स में दस्तावेज़ जोड़ने के लिए, आप पहले एक Index ऑब्जेक्ट बनाते हैं जो उस फ़ोल्डर की ओर इशारा करता है जहाँ इंडेक्स फ़ाइलें संग्रहीत होंगी:
import com.groupdocs.search.Index;
// Initialize the index by specifying a directory path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");
यह लाइन एक इंडेक्स बनाती (या खोलती) है जो दस्तावेज़ों को प्राप्त करने के लिए तैयार है।
इम्प्लीमेंटेशन गाइड
दस्तावेज़ बनाना और इंडेक्स करना
इंडेक्स में दस्तावेज़ कैसे जोड़ें
add मेथड एक फ़ोल्डर को स्कैन करता है और प्रत्येक फ़ाइल के लिए खोज योग्य डेटा संग्रहीत करता है।
import com.groupdocs.search.Index;
// Initialize an index at the specified path
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\NumericRangeSearch");
// Add documents from a directory for indexing
index.add("YOUR_DOCUMENT_DIRECTORY");
- पैरामीटर्स: पाथ स्ट्रिंग उस फ़ोल्डर की ओर इशारा करता है जिसमें वे फ़ाइलें हैं जिन्हें आप इंडेक्स करना चाहते हैं।
- उद्देश्य: इस चरण के बाद, इंडेक्स सभी सपोर्टेड डॉक्यूमेंट टाइप्स के टोकन रखता है, जिससे तेज़ सर्च संभव होती है।
टेक्स्ट क्वेरी सर्च
टेक्स्ट‑आधारित संख्यात्मक रेंज सर्च कैसे करें
आप एक साधारण स्ट्रिंग का उपयोग करके रेंज को परिभाषित कर सर्च कर सकते हैं।
import com.groupdocs.search.*;
import com.groupdocs.search.results.*;
// Define a query for numeric values within a specific range
String query1 = "400 ~~ 4000";
// Execute text-based search on indexed data
SearchResult result1 = index.search(query1);
- पैरामीटर्स: क्वेरी स्ट्रिंग
"400 ~~ 4000"इंजन को 400 और 4000 के बीच की संख्याएँ खोजने को बताती है। - रिटर्न वैल्यू:
SearchResultमिलते-जुलते दस्तावेज़ों की सूची और हाइलाइट्स रखता है।
ऑब्जेक्ट क्वेरी सर्च
संख्यात्मक रेंज के लिए ऑब्जेक्ट क्वेरी कैसे उपयोग करें
ऑब्जेक्ट‑आधारित क्वेरीज़ आपको सर्च मानदंडों पर प्रोग्रामेटिक कंट्रोल देती हैं।
import com.groupdocs.search.*;
import com.groupdocs.search.results.*;
// Create a numeric range query object
SearchQuery query2 = SearchQuery.createNumericRangeQuery(400, 4000);
// Perform search using the query object
SearchResult result2 = index.search(query2);
- पैरामीटर्स:
createNumericRangeQueryशुरू और अंत के इंटीजर लेता है। - उद्देश्य: यह मेथड तब आदर्श है जब आपको कई शर्तें जोड़नी हों या क्वेरीज़ को डायनामिकली बनाना हो।
व्यावहारिक अनुप्रयोग
यहाँ कुछ वास्तविक‑दुनिया के परिदृश्य हैं जहाँ दस्तावेज़ों को इंडेक्स करना एक गेम‑चेंजर बन जाता है:
- लीगल डॉक्यूमेंट मैनेजमेंट – हजारों कॉन्ट्रैक्ट्स में क्लॉज़, केस नंबर, या डेट्स को ढूँढ़ें।
- फ़ाइनेंशियल रिपोर्टिंग – विशिष्ट मौद्रिक रेंज में आने वाले ट्रांज़ैक्शन को निकालें।
- इन्वेंटरी ट्रैकिंग – सीरियल नंबर, बैच कोड, या SKU रेंज द्वारा आइटम खोजें।
GroupDocs.Search को डेटाबेस, क्लाउड स्टोरेज, या मैसेजिंग क्यूज़ के साथ इंटीग्रेट करने से दस्तावेज़ वर्कफ़्लो और भी ऑटोमेट हो सकते हैं।
प्रदर्शन संबंधी विचार
- नियमित इंडेक्स अपडेट: नई फ़ाइलों के लिए
index.addफिर से चलाएँ ताकि इंडेक्स ताज़ा रहे। - रिसोर्स मैनेजमेंट: हीप उपयोग को मॉनिटर करें; बड़े इंडेक्स ट्यून किए गए JVM गैर्बेज‑कलेक्शन सेटिंग्स से लाभान्वित होते हैं।
- क्वेरी ऑप्टिमाइज़ेशन: अनावश्यक स्कैनिंग कम करने के लिए जटिल फ़िल्टर के लिए ऑब्जेक्ट क्वेरीज़ का उपयोग करें।
सामान्य समस्याएँ और समाधान
| समस्या | क्यों होता है | समाधान |
|---|---|---|
| सर्च कोई परिणाम नहीं देता | इंडेक्स नहीं बना या फ़ोल्डर पाथ गलत | सुनिश्चित करें कि index.add सही डायरेक्टरी पर चलाया गया है और इंडेक्स फ़ोल्डर लिखने योग्य है। |
| इंडेक्सिंग के दौरान OutOfMemoryError | बहुत बड़ी फ़ाइलें या अपर्याप्त हीप | JVM -Xmx वैल्यू बढ़ाएँ या फ़ाइलों को छोटे बैच में इंडेक्स करें। |
| असमर्थित फ़ाइल फ़ॉर्मेट | फ़ाइल टाइप GroupDocs.Search द्वारा पहचाना नहीं गया | सुनिश्चित करें कि फ़ाइल एक्सटेंशन समर्थित सूची (PDF, DOCX, XLSX, आदि) में है। |
अक्सर पूछे जाने वाले प्रश्न
Q: मौजूदा इंडेक्स को नए दस्तावेज़ों से कैसे अपडेट करूँ?
A: फिर से index.add("NEW_DOCUMENT_PATH") कॉल करें; लाइब्रेरी नई एंट्रीज़ को पूरे इंडेक्स को फिर से बनाये बिना मर्ज कर देती है।
Q: क्या GroupDocs.Search विभिन्न फ़ाइल फ़ॉर्मेट को संभाल सकता है?
A: हाँ, यह PDFs, Word, Excel, PowerPoint, प्लेन टेक्स्ट, और कई अन्य सामान्य फ़ॉर्मेट को सपोर्ट करता है।
Q: GroupDocs.Search उपयोग करने के लिए सिस्टम आवश्यकताएँ क्या हैं?
A: Java 8+ रनटाइम, पर्याप्त RAM (मध्यम संग्रहों के लिए कम से कम 2 GB), और इंडेक्स फ़ोल्डर तक पढ़ने/लिखने की पहुँच।
Q: सर्च प्रदर्शन समस्याओं का समाधान कैसे करूँ?
A: सुनिश्चित करें कि इंडेक्स अद्यतित है, अपनी क्वेरीज़ को प्रोफ़ाइल करें, और JVM मेमोरी सेटिंग्स की समीक्षा करें। इंडेक्स किए गए फ़ील्ड्स की संख्या कम करने से भी गति बढ़ सकती है।
Q: क्या सर्च में साइनोनिम्स या फज़ी मैचिंग का उपयोग किया जा सकता है?
A: हाँ, GroupDocs.Search साइनोनिम डिक्शनरी और फज़ी सर्च विकल्प प्रदान करता है जिन्हें SearchOptions क्लास के माध्यम से सक्षम किया जा सकता है।
निष्कर्ष
अब आपके पास GroupDocs.Search for Java का उपयोग करके दस्तावेज़ों को इंडेक्स करने की ठोस समझ है, आप इंडेक्स में दस्तावेज़ जोड़ना और टेक्स्ट‑आधारित तथा ऑब्जेक्ट‑आधारित दोनों प्रकार की क्वेरीज़ चलाना जानते हैं। इन तकनीकों को इंटीग्रेट करके, आपके जावा एप्लिकेशन किसी भी दस्तावेज़ रिपॉज़िटरी में तेज़, सटीक सर्च अनुभव प्रदान करेंगे।
अगले चरण के लिए तैयार हैं? फ़ैसिटेड सर्च, साइनोनिम हैंडलिंग को एक्सप्लोर करें, या इंडेक्स को REST API के साथ इंटीग्रेट करके सर्च क्षमताओं को अन्य सर्विसेज़ को एक्सपोज़ करें।
अंतिम अपडेट: 2026-02-06
परीक्षित संस्करण: GroupDocs.Search 25.4 for Java
लेखक: GroupDocs