जावा में सर्च इंडेक्स कैसे बनाएं और स्पेलिंग सक्षम करें
आधुनिक जावा एप्लिकेशनों में, सटीक सर्च परिणाम प्रदान करना एक अनिवार्य फीचर है। यह ट्यूटोरियल जावा में सर्च इंडेक्स कैसे बनाएं और GroupDocs.Search के साथ स्पेलिंग करेक्शन को चालू करने का तरीका दिखाता है, ताकि उपयोगकर्ता टाइपो करने पर भी प्रासंगिक परिणाम प्राप्त कर सकें। आप देखेंगे कि लाइब्रेरी कैसे सेटअप करें, दस्तावेज़ जोड़ें, अधिकतम गलती संख्या कॉन्फ़िगर करें, और टाइपो‑सहिष्णु सर्च चलाएँ—बिना किसी अतिरिक्त कॉन्फ़िगरेशन कोड लिखे।
त्वरित उत्तर
- “enable spelling” क्या करता है? यह बिल्ट‑इन स्पेल‑चेकर को सक्रिय करता है जो सर्च के दौरान गलत लिखे शब्दों को उनके सबसे नज़दीकी सही रूप में बदल देता है।
- यह फीचर कौन सी लाइब्रेरी प्रदान करती है? GroupDocs.Search for Java.
- क्या मुझे लाइसेंस चाहिए? मूल्यांकन के लिए एक फ्री ट्रायल काम करता है; प्रोडक्शन उपयोग के लिए पूर्ण लाइसेंस आवश्यक है।
- क्या मैं टॉलरेंस को नियंत्रित कर सकता हूँ? हाँ –
setMaxMistakeCountका उपयोग करके आप प्रति क्वेरी कितनी टाइपो की अनुमति देना चाहते हैं, निर्धारित कर सकते हैं। - क्या यह बड़े इंडेक्स के लिए उपयुक्त है? बिल्कुल – इंजन मिलियन रिकॉर्ड वाले इंडेक्स को संभालता है जबकि सामान्य सर्वर हार्डवेयर पर क्वेरी लेटेंसी 100 ms से कम रखता है।
GroupDocs.Search क्या है?
GroupDocs.Search एक जावा लाइब्रेरी है जो तेज़ फुल‑टेक्स्ट इंडेक्सिंग और उन्नत सर्च फीचर प्रदान करती है, जिसमें बिल्ट‑इन स्पेलिंग करेक्शन शामिल है। यह 50+ इनपुट फ़ॉर्मेट का समर्थन करती है और कई‑सौ पृष्ठों वाले दस्तावेज़ों को पूरी फ़ाइल को मेमोरी में लोड किए बिना प्रोसेस कर सकती है।
जावा एप्लिकेशनों में स्पेलिंग करेक्शन को क्यों सक्षम करें?
- उपयोगकर्ता संतुष्टि बढ़ाता है – आगंतुक असंपूर्ण टाइपिंग के बावजूद सही परिणाम प्राप्त करते हैं।
- बाउंस रेट कम करता है – सटीक परिणाम उपयोगकर्ताओं को अधिक समय तक व्यस्त रखते हैं।
- विभिन्न डोमेनों में काम करता है – लाइब्रेरी कैटलॉग से लेकर ई‑कॉमर्स प्रोडक्ट सर्च तक, स्पेलिंग करेक्शन हर जगह प्रासंगिकता बढ़ाता है।
पूर्वापेक्षाएँ
- Java Development Kit (JDK) स्थापित हो।
- बुनियादी जावा और Maven ज्ञान।
- इंडेक्सिंग अवधारणाओं की समझ।
- एक GroupDocs.Search ट्रायल या लाइसेंस्ड की।
जावा के लिए GroupDocs.Search सेटअप करना
लाइब्रेरी को अपने Maven प्रोजेक्ट में इंटीग्रेट करें।
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।
लाइसेंस प्राप्ति
मूल्यांकन के लिए एक फ्री ट्रायल लाइसेंस प्राप्त करें। प्रोडक्शन उपयोग के लिए, पूर्ण लाइसेंस खरीदें या आधिकारिक साइट से एक टेम्पररी की का अनुरोध करें।
जावा में सर्च इंडेक्स कैसे बनाएं?
SearchIndex मुख्य क्लास है जो डिस्क पर संग्रहीत सर्चेबल इंडेक्स को दर्शाता है।
एक SearchIndex इंस्टेंस बनाएं जो डिस्क पर किसी फ़ोल्डर की ओर इशारा करता हो, फिर स्रोत डायरेक्टरी से दस्तावेज़ जोड़ें। इंजन एक इनवर्टेड इंडेक्स बनाता है जो तेज़ लुक‑अप को सक्षम करता है। आप प्रत्येक फ़ाइल के लिए index.add() कॉल कर सकते हैं; लाइब्रेरी फ़ाइल प्रकार के आधार पर स्वचालित रूप से टेक्स्ट निकालती है।
स्पेलिंग करेक्शन कैसे सक्षम करें?
getSpellingOptions() इंडेक्स के लिए स्पेलिंग कॉन्फ़िगरेशन ऑब्जेक्ट लौटाता है, जिससे आप स्पेल‑चेकिंग फीचर को सक्षम या समायोजित कर सकते हैं।
स्पेलिंग को सक्षम करने के लिए index.getSpellingOptions().setEnabled(true) कॉल करें। यह इंजन को क्वेरी टर्म्स का विश्लेषण करने और असंगतियों के पता चलने पर सही विकल्प सुझाने के लिए बताता है। यह फीचर लाइब्रेरी द्वारा समर्थित सभी इंडेक्स्ड भाषाओं के लिए बॉक्स से बाहर काम करता है।
अधिकतम गलती संख्या सेटिंग क्या है?
setMaxMistakeCount प्रत्येक टर्म के लिए स्पेल‑चेकर द्वारा सहन किए जाने वाले अधिकतम कैरेक्टर एडिट्स को कॉन्फ़िगर करता है।setMaxMistakeCount(int) अधिकतम कैरेक्टर एडिट्स (इन्सर्शन, डिलीशन, सब्स्टिट्यूशन) को परिभाषित करता है जो स्पेल‑चेकर प्रत्येक टर्म के लिए सहन करेगा। इसे 2 पर सेट करने से इंजन सामान्य दो‑कैरेक्टर टाइपो को ठीक कर सकता है जबकि अत्यधिक आक्रामक सुधारों से बचता है जो असंबंधित परिणाम दे सकते हैं।
स्पेलिंग‑सुधारित सर्च कैसे करें
search() इंडेक्स के विरुद्ध एक क्वेरी चलाता है और एक SearchResult ऑब्जेक्ट लौटाता है जिसमें मैच और कोई भी सुधारे गए टर्म्स होते हैं।search() मेथड का उपयोग करके सर्च क्वेरी चलाएँ। यदि क्वेरी में गलत शब्द हैं, तो इंजन एक SearchResult लौटाता है जिसमें सुधारे गए टर्म्स और सबसे प्रासंगिक दस्तावेज़ों की सूची शामिल होती है। आप उपयोगकर्ता को पारदर्शिता के लिए मूल क्वेरी और सुधारी गई संस्करण दोनों दिखा सकते हैं।SearchResult मेल खाने वाले दस्तावेज़ों की सूची और क्वेरी सुधारों की जानकारी रखता है।
व्यावहारिक अनुप्रयोग
- लाइब्रेरी सिस्टम – पुस्तक शीर्षकों या लेखक नामों की गलत वर्तनी को स्वचालित रूप से ठीक करता है।
- ई‑कॉमर्स प्लेटफ़ॉर्म – प्रोडक्ट नाम की टाइपो को ठीक करके कन्वर्ज़न रेट बढ़ाता है।
- कंटेंट मैनेजमेंट – संपादकीय स्टाफ को अपूर्ण कीवर्ड्स के साथ भी लेख खोजने में मदद करता है।
प्रदर्शन संबंधी विचार
- इंडेक्स को अद्यतित रखें – नई या बदली हुई फ़ाइलों को नियमित रूप से पुनः‑इंडेक्स करें।
- JVM मेमोरी सेटिंग्स को ट्यून करें – बड़े इंडेक्स के लिए पर्याप्त हीप आवंटित करें (उदा.,
-Xmx4g)। - संसाधन उपयोग की निगरानी करें – यदि बल्क इंडेक्सिंग के दौरान रुकावटें देखें तो गार्बेज‑कलेक्टर फ़्लैग्स को समायोजित करें।
सामान्य समस्याएँ और ट्रबलशूटिंग
| लक्षण | संभावित कारण | समाधान |
|---|---|---|
| स्पेलिंग सक्षम करने के बाद कोई परिणाम नहीं | इंडेक्स फ़ोल्डर पाथ गलत या खाली है | सुनिश्चित करें कि indexFolder एक वैध इंडेक्स की ओर इशारा करता है और index.add() सफल हुआ है |
| स्पेल‑चेकर स्पष्ट टाइपो को ठीक नहीं करता | setMaxMistakeCount बहुत कम सेट है | अधिक सहिष्णु सुधार के लिए काउंट को 2 या 3 तक बढ़ाएँ |
| बड़ी दस्तावेज़ सेट पर एप्लिकेशन क्रैश करता है | अपर्याप्त JVM हीप | -Xmx विकल्प बढ़ाएँ (उदा., -Xmx4g) |
अक्सर पूछे जाने वाले प्रश्न
Q: GroupDocs.Search क्या है?
A: GroupDocs.Search एक जावा लाइब्रेरी है जो तेज़ इंडेक्सिंग, उन्नत क्वेरी क्षमताएँ, और किसी भी जावा एप्लिकेशन के लिए बिल्ट‑इन स्पेलिंग करेक्शन प्रदान करती है।
Q: GroupDocs.Search के लिए लाइसेंस कैसे प्राप्त करें?
A: आधिकारिक साइट पर जाएँ ताकि फ्री ट्रायल डाउनलोड कर सकें या पूर्ण लाइसेंस खरीदें; शॉर्ट‑टर्म टेस्टिंग के लिए एक टेम्पररी की भी उपलब्ध है।
Q: क्या मैं GroupDocs.Search को अन्य जावा फ्रेमवर्क्स के साथ इंटीग्रेट कर सकता हूँ?
A: हाँ, यह Spring, Jakarta EE, और किसी भी मानक जावा एप्लिकेशन के साथ सहजता से काम करता है।
Q: इंडेक्स सेटअप करते समय सामान्य समस्याएँ क्या हैं?
A: गलत फ़ोल्डर पाथ, फ़ाइल अनुमतियों की कमी, या Maven डिपेंडेंसीज़ की अनुपस्थिति आम कारण होते हैं।
Q: स्पेल करेक्शन सर्च परिणामों को कैसे सुधारता है?
A: यह स्वचालित रूप से गलत लिखी क्वेरी को उसके सबसे नज़दीकी सही शब्द में बदल देता है, जिससे अधिक प्रासंगिक हिट्स मिलते हैं और उपयोगकर्ता की निराशा कम होती है।
अतिरिक्त संसाधन
अंतिम अपडेट: 2026-09-02
परीक्षित संस्करण: GroupDocs.Search 25.4
लेखक: GroupDocs
import com.groupdocs.search.*;
public class FeatureIndexAndAddDocuments {
public static void main(String[] args) {
// Define where the index will be stored
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SpellChecking";
// Create an Index instance pointing to the specified folder
Index index = new Index(indexFolder);
// Specify the documents directory for indexing
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
// Add documents from this directory to the index
index.add(documentsFolder);
}
}
import com.groupdocs.search.*;
import com.groupdocs.search.options.*;
public class FeatureSpellingCorrectionOptions {
public static void main(String[] args) {
// Instantiate SearchOptions
SearchOptions options = new SearchOptions();
// Enable spelling correction
options.getSpellingCorrector().setEnabled(true);
// Allow up to one mistake during search
options.getSpellingCorrector().setMaxMistakeCount(1);
// Return only the best results after correction
options.getSpellingCorrector().setOnlyBestResults(true);
}
}
import com.groupdocs.search.*;
import com.groupdocs.search.options.*;
import com.groupdocs.search.results.*;
public class FeatureSpellingCorrectionSearch {
public static void main(String[] args) {
// Create an index in the specified directory
String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SpellChecking";
Index index = new Index(indexFolder);
// Define search options with spelling correction enabled
SearchOptions options = new SearchOptions();
options.getSpellingCorrector().setEnabled(true);
options.getSpellingCorrector().setMaxMistakeCount(1);
options.getSpellingCorrector().setOnlyBestResults(true);
// Specify a misspelled search query
String query = "houseohld";
// Execute the spelling‑corrected search
SearchResult result = index.search(query, options);
}
}