इंडेक्स में दस्तावेज़ जोड़ें: जावा में केस‑सेंसिटिव सर्च को मास्टर करना GroupDocs

एक बड़े दस्तावेज़ संग्रह से सही जानकारी प्राप्त करना आधुनिक अनुप्रयोगों की मुख्य आवश्यकता है। इस गाइड में, आप सीखेंगे इंडेक्स में दस्तावेज़ कैसे जोड़ें और GroupDocs.Search for Java का उपयोग करके केस‑सेंसिटिव सर्च कैसे करें। चाहे आप एक कानूनी‑दस्तावेज़ रिपॉजिटरी, ई‑कॉमर्स कैटलॉग, या कंटेंट‑मैनेजमेंट सिस्टम बना रहे हों, सटीक खोज परिणाम उपयोगकर्ताओं को खुश रखते हैं और आपके डेटा को विश्वसनीय बनाते हैं।

त्वरित उत्तर

  • खोज शुरू करने के लिए प्राथमिक कदम क्या है? index.add(...) के साथ इंडेक्स में दस्तावेज़ जोड़ें।
  • केस‑सेंसिटिव सर्च कैसे सक्षम करें? options.setUseCaseSensitiveSearch(true) सेट करें।
  • क्या मैं कई डायरेक्टरीज़ में खोज कर सकता हूँ? हाँ – प्रत्येक फ़ोल्डर को शामिल करने के लिए index.add() कॉल करें।
  • कौन सा मेथड मुझे ऑब्जेक्ट्स के साथ खोजने देता है? SearchQuery.createWordQuery(...) का उपयोग करें।
  • परीक्षण के लिए मुझे लाइसेंस चाहिए? परीक्षण उद्देश्यों के लिए एक अस्थायी लाइसेंस उपलब्ध है।

“इंडेक्स में दस्तावेज़ जोड़ना” का क्या अर्थ है?

इंडेक्स में दस्तावेज़ जोड़ना का मतलब है कि आपके स्रोत फ़ाइलों (PDFs, Word दस्तावेज़, प्लेन टेक्स्ट, आदि) को GroupDocs.Search में फीड करना ताकि वह एक सर्चेबल डेटा स्ट्रक्चर बना सके। एक बार इंडेक्स हो जाने पर, इंजन तेज़ क्वेरीज़ चला सकता है, जिसमें केस‑सेंसिटिव खोज भी शामिल है।

जावा में केस‑सेंसिटिव सर्च को सक्षम क्यों करें?

  • सटीक शब्द मिलान – “Apple” (कंपनी) को “apple” (फल) से अलग करें।
  • नियामक अनुपालन – कुछ उद्योगों को सटीक वाक्यांश मिलान की आवश्यकता होती है।
  • बेहतर प्रासंगिकता – उपयोगकर्ता अक्सर तकनीकी या कानूनी संदर्भों में केस‑विशिष्ट परिणामों की अपेक्षा करते हैं।

पूर्वापेक्षाएँ

  • JDK (Java 17 या बाद का अनुशंसित)
  • डिपेंडेंसी प्रबंधन के लिए Maven
  • IntelliJ IDEA या Eclipse जैसे IDE
  • जावा प्रोग्रामिंग की बुनियादी परिचितता

जावा के लिए GroupDocs.Search सेटअप करना

पहले, अपने pom.xml में GroupDocs रिपॉजिटरी और डिपेंडेंसी जोड़ें:

<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 से डाउनलोड कर सकते हैं।

लाइसेंसिंग

ट्रायल शुरू करने के लिए, अस्थायी लाइसेंस प्राप्त करने हेतु GroupDocs पर जाएँ। यह आपको सभी फीचर्स को बिना किसी सीमा के परीक्षण करने की अनुमति देगा।

इंडेक्स में दस्तावेज़ जोड़ें – टेक्स्ट क्वेरी सर्च

चरण 1: एक इंडेक्स बनाएं और अपने दस्तावेज़ जोड़ें

एक फ़ोल्डर बनाएं जहाँ इंडेक्स फ़ाइलें संग्रहीत होंगी, फिर उस स्रोत डायरेक्टरी को जोड़ें जिसमें वे दस्तावेज़ हों जिन्हें आप खोजना चाहते हैं।

String indexFolder = YOUR_OUTPUT_DIRECTORY + "/CaseSensitiveSearch/QueryInTextForm";
Index index = new Index(indexFolder);
index.add(YOUR_DOCUMENT_DIRECTORY); // Add documents to the index

प्रो टिप: आप एक ही इंडेक्स में कई डायरेक्टरीज़ में खोज करने के लिए index.add() को कई बार कॉल कर सकते हैं।

चरण 2: केस‑सेंसिटिव सर्च सक्षम करें

सर्च विकल्पों को सेट करें ताकि वह अक्षर केस का सम्मान करे।

SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);

चरण 3: केस‑सेंसिटिव टेक्स्ट क्वेरी चलाएँ

ऐसी क्वेरी चलाएँ जो “Advantages” को “advantages” से अलग करे।

String query = "Advantages";
SearchResult result = index.search(query, options);

// Output results
for (FoundDocument doc : result.getDocuments()) {
    System.out.println("Document: " + doc.getDocumentInfo().getFilePath());
}

लूप प्रत्येक दस्तावेज़ का पूरा पाथ प्रिंट करता है जिसमें सटीक केस‑मैच्ड टर्म मौजूद है।

इंडेक्स में दस्तावेज़ जोड़ें – ऑब्जेक्ट क्वेरी सर्च

ऑब्जेक्ट क्वेरीज़ अधिक लचीलापन देती हैं, विशेषकर जब आपको कई मानदंडों को मिलाना हो।

चरण 1: दूसरा इंडेक्स इनिशियलाइज़ करें (वैकल्पिक)

यदि आप ऑब्जेक्ट‑आधारित खोजों को अलग रखना चाहते हैं, तो एक और इंडेक्स फ़ोल्डर बनाएं।

String indexFolder = YOUR_OUTPUT_DIRECTORY + "/CaseSensitiveSearch/QueryInObjectForm";
Index index = new Index(indexFolder);
index.add(YOUR_DOCUMENT_DIRECTORY); // Add documents to the index

चरण 2: केस‑सेंसिटिव विकल्प को पुनः उपयोग करें

एक ही SearchOptions इंस्टेंस ऑब्जेक्ट क्वेरीज़ के लिए काम करता है।

SearchOptions options = new SearchOptions();
options.setUseCaseSensitiveSearch(true);

चरण 3: ऑब्जेक्ट क्वेरी बनाएं और चलाएँ

एक शब्द क्वेरी ऑब्जेक्ट बनाएं और उसे सर्च इंजन को पास करें।

SearchQuery query = SearchQuery.createWordQuery("Advantages");
SearchResult result = index.search(query, options);

// Output results
for (FoundDocument doc : result.getDocuments()) {
    System.out.println("Document: " + doc.getDocumentInfo().getFilePath());
}

createWordQuery का उपयोग करने से आप बाद में इसे फ़्रेज़, वाइल्डकार्ड, या बूलियन क्वेरीज़ के साथ मिलाकर अधिक जटिल परिदृश्यों के लिए उपयोग कर सकते हैं।

व्यावहारिक अनुप्रयोग

  • लीगल डॉक्यूमेंट मैनेजमेंट: ऐसे केस‑स्पेसिफिक स्टैच्यूट्स प्राप्त करें जहाँ कैपिटलाइज़ेशन महत्वपूर्ण हो।
  • ई‑कॉमर्स प्लेटफ़ॉर्म: “PRO‑X” और “pro‑x” जैसे प्रोडक्ट SKU को अलग करें।
  • कंटेंट मैनेजमेंट सिस्टम (CMS): सुनिश्चित करें कि लेखकों को सटीक हेडिंग्स या टैग्स मिलें।

प्रदर्शन संबंधी विचार

  • इंडेक्स को अद्यतित रखें – नई फ़ाइलें जोड़ने या मौजूदा फ़ाइलों में बदलाव होने पर पुनः‑इंडेक्स करें।
  • मेमोरी उपयोग की निगरानी करें – बड़े कॉर्पोरा को इन्क्रीमेंटल इंडेक्सिंग और उचित JVM हीप साइजिंग से लाभ मिलता है।
  • जावा के गार्बेज कलेक्टर का उपयोग करें – जब Index ऑब्जेक्ट्स की आवश्यकता न रहे तो उन्हें रिलीज़ करें।

सामान्य समस्याएँ और समाधान

समस्यासमाधान
useCaseSensitiveSearch अनदेखा हो रहा हैसुनिश्चित करें कि आप नवीनतम GroupDocs.Search संस्करण का उपयोग कर रहे हैं और विकल्प बदलने के बाद इंडेक्स को पुनः बनाय गया है।
ज्ञात शब्द के लिए कोई परिणाम नहीं मिलासुनिश्चित करें कि शब्द का केस बिल्कुल मेल खाता है और दस्तावेज़ सफलतापूर्वक इंडेक्स में जोड़ा गया है।
कई फ़ोल्डर खोजने से गति धीमी हो जाती हैindex.add() से प्रत्येक फ़ोल्डर को अलग‑अलग जोड़ें और बहुत बड़े डेटासेट के लिए इंडेक्स को शार्ड्स में विभाजित करने पर विचार करें।

अक्सर पूछे जाने वाले प्रश्न

प्रश्न: मैं GroupDocs.Search के साथ बड़े डेटासेट को कैसे संभालूँ?
उत्तर: इंडेक्स पार्टिशनिंग का उपयोग करें, JVM मेमोरी सेटिंग्स को ट्यून करें, और प्रदर्शन को अनुकूल रखने के लिए समय‑समय पर इंडेक्स को कम्पैक्ट करें।

प्रश्न: क्या मैं एक साथ कई डायरेक्टरीज़ में खोज सकता हूँ?
उत्तर: हाँ – प्रत्येक डायरेक्टरी को शामिल करने के लिए index.add() कॉल करें, फिर संयुक्त इंडेक्स पर एक ही क्वेरी चलाएँ।

प्रश्न: केस‑सेंसिटिव सर्च सेटअप करते समय आम pitfalls क्या हैं?
उत्तर: useCaseSensitiveSearch सक्षम करने के बाद इंडेक्स को पुनः बनाना भूल जाना, या क्वेरी स्ट्रिंग में गलत केस का उपयोग करना।

प्रश्न: मैं सर्च एरर्स को कैसे ट्रबलशूट करूँ?
उत्तर: GroupDocs.Search द्वारा उत्पन्न लॉग फ़ाइलों में स्टैक ट्रेस देखें, और सुनिश्चित करें कि सभी Maven डिपेंडेंसी सही ढंग से रिजॉल्व्ड हैं।

प्रश्न: क्या GroupDocs.Search रीयल‑टाइम एप्लिकेशन्स के लिए उपयुक्त है?
उत्तर: उचित इंडेक्सिंग रणनीतियों (इन्क्रीमेंटल अपडेट्स और इन‑मेरी कैशिंग) के साथ, यह निकट‑रीयल‑टाइम सर्च परिणाम प्रदान कर सकता है।

संसाधन


अंतिम अपडेट: 2026-02-06
परीक्षण किया गया: GroupDocs.Search 25.4
लेखक: GroupDocs