Java पूर्ण पाठ खोज: GroupDocs.Search के साथ इंडेक्स बनाएं

आधुनिक डेटा‑चालित अनुप्रयोगों में, java full text search वह इंजन है जो आपको हजारों फ़ाइलों में तुरंत जानकारी खोजने की अनुमति देता है। यह ट्यूटोरियल आपको हर कदम से परिचित कराता है—GroupDocs.Search निर्भरता जोड़ने से लेकर अल्फाबेट डिक्शनरी को फाइन‑ट्यून करने तक—ताकि आप किसी भी Java प्रोजेक्ट में तेज़, सटीक खोज परिणाम प्रदान कर सकें।

त्वरित उत्तर

  • What is “java full text search”? यह एक इंडेक्स बनाने की प्रक्रिया है जो Java एप्लिकेशन में कई फ़ाइलों में तेज़ टेक्स्ट क्वेरी को सक्षम बनाती है।
  • Which library handles this out‑of‑the‑box? GroupDocs.Search for Java तैयार‑निर्मित इंडेक्सिंग, डिक्शनरी प्रबंधन, और क्वेरी निष्पादन प्रदान करता है।
  • Do I need a license? मूल्यांकन के लिए एक मुफ्त ट्रायल उपयुक्त है; उत्पादन परिनियोजन के लिए पूर्ण लाइसेंस आवश्यक है।
  • Can I customize character handling? बिल्कुल—अल्फाबेट डिक्शनरी का उपयोग करके कस्टम कैरेक्टर टाइप परिभाषित करें।
  • Is Maven mandatory? Maven निर्भरता प्रबंधन को सरल बनाता है, लेकिन आप JAR को सीधे भी डाउनलोड कर सकते हैं।

java full text search क्या है और अल्फाबेट डिक्शनरी का प्रबंधन क्यों आवश्यक है?

java full text search इंडेक्स आपके दस्तावेज़ों के टोकनाइज़्ड प्रतिनिधित्व को संग्रहीत करता है, जिससे शब्दों या वाक्यांशों की त्वरित खोज संभव होती है। अल्फाबेट डिक्शनरी इंजन को बताती है कि प्रत्येक कैरेक्टर (अक्षर, अंक, प्रतीक) को कैसे संभालना है, जो टोकनाइज़ेशन और खोज प्रासंगिकता को सीधे प्रभावित करता है—विशेष प्रतीकों या भाषा‑विशिष्ट नियमों के लिए विशेष रूप से।

java full text search के लिए GroupDocs.Search क्यों उपयोग करें?

GroupDocs.Search 10,000 दस्तावेज़ों तक को पूरी तरह मेमोरी में लोड किए बिना प्रोसेस करता है, जिससे सब‑सेकंड क्वेरी समय मिलता है। यह कैरेक्टर टाइप्स पर पूर्ण नियंत्रण प्रदान करता है, 50+ इनपुट और आउटपुट फ़ॉर्मेट का समर्थन करता है, और कई सर्वरों में क्षैतिज रूप से स्केल करता है, जिससे यह एंटरप्राइज़‑ग्रेड खोज के लिए सबसे मजबूत विकल्प बनता है।

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

  • GroupDocs.Search for Java (latest release).
  • Java 17 या उससे ऊपर आपके विकास मशीन पर स्थापित होना चाहिए।
  • Maven 3.6+ (या JAR को मैन्युअल रूप से जोड़ने की क्षमता)।

आवश्यक लाइब्रेरी, संस्करण, और निर्भरताएँ

  • GroupDocs.Search for Java – नवीनतम स्थिर संस्करण।
  • बेसिक इंडेक्सिंग के लिए कोई अतिरिक्त थर्ड‑पार्टी लाइब्रेरी आवश्यक नहीं है।

पर्यावरण सेटअप आवश्यकताएँ

सुनिश्चित करें कि आपके पास Maven‑संगत पर्यावरण है। यदि Maven अभी तक स्थापित नहीं है, तो इसे आधिकारिक साइट से डाउनलोड करें: Apache Maven.

ज्ञान पूर्वापेक्षाएँ

Java सिंटैक्स और फ़ाइल I/O की परिचितता मददगार होगी, लेकिन नीचे दिया गया चरण‑दर‑चरण गाइड आपके सभी आवश्यकताओं को कवर करता है।

GroupDocs.Search for Java सेटअप करना

Maven कॉन्फ़िगरेशन

Add the repository and dependency to your pom.xml file:

<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>

प्रत्यक्ष डाउनलोड

यदि आप Maven का उपयोग नहीं करना चाहते हैं, तो आधिकारिक रिलीज़ पेज से नवीनतम JAR प्राप्त करें: GroupDocs.Search for Java releases.

लाइसेंस प्राप्त करने के चरण

  1. Free trial – सभी सुविधाओं को अन्वेषण करने के लिए एक ट्रायल से शुरू करें।
  2. Temporary license – विस्तारित परीक्षण के लिए एक अस्थायी कुंजी का अनुरोध करें।
  3. Full license – असीमित उपयोग के लिए उत्पादन लाइसेंस खरीदें।

बुनियादी इनिशियलाइज़ेशन और सेटअप

Create an Index instance that points to the folder where the search index will be stored:

import com.groupdocs.search.*;

public class SearchIndexSetup {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
        Index index = new Index(indexFolder);
    }
}

कार्यान्वयन गाइड

नीचे java full text search समाधान बनाने के दौरान आप जो सबसे सामान्य ऑपरेशन्स करेंगे, उनका पूर्ण walkthrough दिया गया है।

इंडेक्स बनाना या खोलना

The Index class is the core object that represents a searchable collection stored on disk.

import com.groupdocs.search.*;

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\Index";
Index index = new Index(indexFolder);
  • Parameters: indexFolder – वह पथ जहाँ इंडेक्स फ़ाइलें स्थित हैं।
  • Purpose: आगे की इंडेक्सिंग और क्वेरींग के लिए खोज पर्यावरण सेट करता है।

अल्फाबेट डिक्शनरी को फ़ाइल में निर्यात करना

The AlphabetDictionary object holds character‑type mappings. Exporting it lets you reuse or analyse the configuration later.

import com.groupdocs.search.dictionaries.*;

String fileName = "YOUR_OUTPUT_DIRECTORY\\Alphabet.dat";
index.getDictionaries().getAlphabet().exportDictionary(fileName);
  • Parameters: fileName – निर्यातित डिक्शनरी के लिए गंतव्य फ़ाइल।

अल्फाबेट डिक्शनरी को साफ़ करना

Reset the dictionary to its default state before applying custom rules:

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCount() > 0) {
    index.getDictionaries().getAlphabet().clear();
}
  • Purpose: सभी पूर्वनिर्धारित कैरेक्टर टाइप्स को हटाता है, जिससे एक साफ़ स्लेट सुनिश्चित होती है।

फ़ाइल से अल्फाबेट डिक्शनरी आयात करना

Restore a previously saved dictionary configuration:

import com.groupdocs.search.dictionaries.*;

index.getDictionaries().getAlphabet().importDictionary(fileName);
  • Parameters: fileName – डिक्शनरी युक्त .dat फ़ाइल का पथ।

अल्फाबेट डिक्शनरी में कैरेक्टर टाइप सेट करना

The CharacterType enum specifies how characters are interpreted during tokenization. Customize how specific characters are treated during tokenization. The CharacterType.Blended value tells the engine to treat the hyphen as part of a word rather than a separator.

import com.groupdocs.search.dictionaries.*;

if (index.getDictionaries().getAlphabet().getCharacterType('-') != CharacterType.Blended) {
    index.getDictionaries().getAlphabet().setRange(new char[] { '-' }, CharacterType.Blended);
}
  • Parameters: कैरेक्टर ('-') और उसका नया CharacterType।
  • Why it matters: कैरेक्टर टाइप्स को समायोजित करने से हाइफ़न वाले शब्दों, IDs, या कस्टम प्रतीकों के लिए खोज प्रासंगिकता में सुधार होता है।

फ़ोल्डर से दस्तावेज़ों को इंडेक्स करना

Add all files in a directory to the search index in one operation:

import com.groupdocs.search.*;

String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder);
  • Parameters: documentsFolder – वह फ़ोल्डर जिसमें वे दस्तावेज़ हैं जिन्हें आप इंडेक्स करना चाहते हैं।

इंडेक्स में खोज करना

The SearchResult class contains the list of matched documents and snippets returned by a query. Execute a query and retrieve matching results:

import com.groupdocs.search.results.*;

String query = "Elliot-Murray-Kynynmound";
SearchResult result = index.search(query);
  • Parameters: query – वह टेक्स्ट जिसे आप खोज रहे हैं।
  • Result: एक SearchResult ऑब्जेक्ट जिसमें मेल खाते दस्तावेज़ और स्निपेट्स होते हैं।

java full text search के सामान्य उपयोग केस

  • Content management systems (CMS): लेख और एसेट पुनर्प्राप्ति को तेज़ बनाता है।
  • Legal document repositories: क्लॉज़ या केस रेफ़रेंसेज़ को तुरंत खोजें।
  • Research libraries: हजारों पेपर को इंडेक्स करके त्वरित कीवर्ड खोज प्रदान करें।
  • E‑commerce catalogs: कस्टम टोकनाइज़ेशन के साथ उत्पाद खोज को बेहतर बनाएं।
  • Customer support portals: एजेंटों को प्रासंगिक टिकट या नॉलेज‑बेस लेख जल्दी खोजने में सक्षम बनाता है।

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

  • Incremental updates: केवल नए या बदले हुए फ़ाइलों को पुनः‑इंडेक्स करें ताकि पूर्ण पुनर्निर्माण के बिना इंडेक्स ताज़ा रहे।
  • Query optimization: क्वेरी को संक्षिप्त रखें; अत्यधिक व्यापक वाइल्डकार्ड खोजों से बचें।
  • Resource monitoring: बड़े बैच इंडेक्सिंग के दौरान मेमोरी उपयोग पर नज़र रखें—यदि आवश्यक हो तो JVM हीप आकार को ट्यून करें।
  • Dictionary size: अल्फाबेट डिक्शनरी को केवल तब निर्यात/आयात करें जब आप इसे संशोधित करें; अनावश्यक I/O स्टार्ट‑अप को धीमा कर सकता है।

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

Q: GroupDocs.Search उपयोग करने के लिए पूर्वापेक्षाएँ क्या हैं?
A: Java 17+, Maven 3.6+ (या JAR डाउनलोड करें), और GroupDocs.Search निर्भरता जोड़ें।

Q: उत्पादन उपयोग के लिए लाइसेंस कैसे प्राप्त करें?
A: एक मुफ्त ट्रायल से शुरू करें, विस्तारित परीक्षण के लिए अस्थायी कुंजी का अनुरोध करें, फिर GroupDocs पोर्टल से पूर्ण लाइसेंस खरीदें।

Q: क्या मैं अल्फाबेट डिक्शनरी में कैरेक्टर टाइप्स को कस्टमाइज़ कर सकता हूँ?
A: हाँ—setRange या set मेथड्स का उपयोग करके किसी भी कैरेक्टर या रेंज को कस्टम CharacterType मान असाइन करें।

Q: क्या अल्फाबेट डिक्शनरी को निर्यात और आयात करना संभव है?
A: बिल्कुल—exportDictionary और importDictionary मेथड्स का उपयोग करके डिक्शनरी कॉन्फ़िगरेशन को सहेजें या साझा करें।

Q: इस गाइड का परीक्षण किस संस्करण के साथ किया गया था?
A: उदाहरणों की पुष्टि GroupDocs.Search for Java संस्करण 25.4 के साथ की गई थी।


अंतिम अपडेट: 2026-09-06
परीक्षित संस्करण: GroupDocs.Search for Java 25.4
लेखक: GroupDocs

संबंधित ट्यूटोरियल