translate inside.

Now produce final content.

जावा में GroupDocs.Search के साथ एकवचन बहुवचन रूप उत्पन्न करें

यदि आपको जावा में एकवचन बहुवचन रूप उत्पन्न करने की आवश्यकता है, तो एक कस्टम word‑forms provider ही आपके सर्च या टेक्स्ट‑एनालिसिस इंजन को प्रत्येक शब्दावली के विविध रूप समझने की कुंजी है। इस ट्यूटोरियल में हम आपको GroupDocs.Search Java API के साथ ऐसा प्रोवाइडर बनाने की प्रक्रिया दिखाएंगे, ताकि आपका एप्लिकेशन बिना अतिरिक्त प्रयास के “cat”, “cats”, “city”, और “citis” को स्वचालित रूप से मिलान कर सके।

त्वरित उत्तर

  • एक word forms provider क्या करता है? यह दिए गए शब्द के वैकल्पिक रूप (एकवचन, बहुवचन, आदि) उत्पन्न करता है ताकि खोज सभी रूपों से मेल खा सके।
  • कौनसी लाइब्रेरी आवश्यक है? GroupDocs.Search for Java (संस्करण 25.4 या नया)।
  • क्या मुझे लाइसेंस चाहिए? मूल्यांकन के लिए एक मुफ्त ट्रायल काम करता है; उत्पादन के लिए एक स्थायी लाइसेंस आवश्यक है।
  • कौनसा Java संस्करण समर्थित है? JDK 8 या उससे ऊपर।
  • कोड की कितनी पंक्तियों की आवश्यकता है? एक सरल प्रोवाइडर इम्प्लीमेंटेशन के लिए लगभग 30 पंक्तियाँ।

“Create Word Forms Provider” फीचर क्या है?

एक create word forms provider घटक एक कस्टम क्लास है जो IWordFormsProvider को इम्प्लीमेंट करता है। यह एक शब्द प्राप्त करता है और संभावित रूपों की एक एरे लौटाता है—एकवचन, बहुवचन, या अन्य भाषाई विविधताएँ—आपके द्वारा परिभाषित नियमों के आधार पर। यह सर्च इंडेक्स को “cat” और “cats” को समान मानने की अनुमति देता है, जिससे प्रीसिशन को नुकसान पहुँचाए बिना रिकॉल में सुधार होता है।

शब्द‑रूप उत्पन्न करने के लिए GroupDocs.Search क्यों उपयोग करें?

  • इन‑बिल्ट एक्स्टेंसिबिलिटी: अपने प्रोवाइडर को सीधे इंडेक्सिंग पाइपलाइन में प्लग करें।
  • परफ़ॉर्मेंस‑ऑप्टिमाइज़्ड: बड़े इंडेक्स को कुशलता से संभालता है, और आप अतिरिक्त गति के लिए परिणामों को कैश कर सकते हैं।
  • क्रॉस‑लैंग्वेज सपोर्ट: अवधारणाएँ .NET और अन्य प्लेटफ़ॉर्म पर भी लागू होती हैं।

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

create word forms provider को इम्प्लीमेंट करने से पहले, सुनिश्चित करें कि आपके पास है:

  • Maven स्थापित हो और आपके मशीन पर JDK 8 या नया सेटअप हो।
  • Java विकास और Maven के pom.xml कॉन्फ़िगरेशन की बुनियादी समझ।
  • GroupDocs.Search Java लाइब्रेरी तक पहुँच (संस्करण 25.4 या बाद)।

जावा के लिए 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 रिलीज़

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

  1. Free Trial: कोर फीचर्स का अन्वेषण करने के लिए ट्रायल के लिए साइन अप करें।
  2. Temporary License: विस्तारित परीक्षण के लिए एक अस्थायी कुंजी का अनुरोध करें।
  3. Purchase: अनियंत्रित उत्पादन उपयोग के लिए एक व्यावसायिक लाइसेंस प्राप्त करें।

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

निम्नलिखित स्निपेट दिखाता है कि कैसे एक इंडेक्स बनाया जाए—दस्तावेज़ और word‑form लॉजिक जोड़ने के लिए आपका प्रारंभिक बिंदु:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Initialize an index
        Index index = new Index("path/to/index");
        
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

इम्प्लीमेंटेशन गाइड

नीचे हम उन चरणों को देखते हैं जो create word forms provider बनाते हैं जो सरल एकवचन‑से‑बहुवचन और बहुवचन‑से‑एकवचन रूपांतरण को संभालता है।

SimpleWordFormsProvider को इम्प्लीमेंट करना

अवलोकन

हमारा कस्टम प्रोवाइडर करेगा:

  • अंत में “es” या “s” हटाकर एकवचन रूप का अनुमान लगाएगा।
  • अंत में “y” को “is” में बदलकर बहुवचन रूप उत्पन्न करेगा (जैसे, “city” → “citis”)।
  • बेसिक बहुवचन उम्मीदवार बनाने के लिए “s” और “es” जोड़ देगा।

चरण 1 – क्लास स्केलेटन बनाएं

IWordFormsProvider को इम्प्लीमेंट करने वाली क्लास को परिभाषित करके शुरू करें। इम्पोर्ट स्टेटमेंट्स को जैसा है वैसा रखें:

import com.groupdocs.search.dictionaries.IWordFormsProvider;
import java.util.ArrayList;

public class SimpleWordFormsProvider implements IWordFormsProvider {

चरण 2 – getWordForms को इम्प्लीमेंट करें

ऐसी मेथड जोड़ें जो संभावित रूपों की सूची बनाती है। यह ब्लॉक मुख्य लॉजिक रखता है; आप बाद में इसे अधिक जटिल नियमों को कवर करने के लिए विस्तारित कर सकते हैं।

    @Override
    public final String[] getWordForms(String word) {
        // Initialize a list to store generated word forms
        ArrayList<String> result = new ArrayList<>();

        // Singular form for words ending in 'es'
        if (word.length() > 2 && word.toLowerCase().endsWith("es")) {
            result.add(word.substring(0, word.length() - 2));
        }

        // Singular form for words ending in 's'
        if (word.length() > 1 && word.toLowerCase().endsWith("s")) {
            result.add(word.substring(0, word.length() - 1));
        }

        // Plural form by replacing 'y' with 'is'
        if (word.length() > 1 && word.toLowerCase().endsWith("y")) {
            result.add(word.substring(0, word.length() - 1).concat("is"));
        }

        // Basic plural forms
        result.add(word.concat("s"));
        result.add(word.concat("es"));

        // Convert list to array and return
        return result.toArray(new String[0]);
    }
}

लॉजिक की व्याख्या

  • Singularization: सामान्य बहुवचन प्रत्ययों (es, s) का पता लगाता है और उन्हें हटाकर मूल शब्द का अनुमान लगाता है।
  • Pluralization: y पर समाप्त होने वाले संज्ञाओं को is से बदलता है, एक सरल नियम जो कई अंग्रेज़ी शब्दों पर लागू होता है।
  • Suffix Appending: s और es जोड़ता है ताकि नियमित बहुवचन रूपों को कवर किया जा सके जो पहले की जाँच में नहीं पकड़े गए हों।

ट्रबलशूटिंग टिप्स

  • Case Sensitivity: मेथड तुलना के लिए toLowerCase() का उपयोग करता है, जिससे “Cats” और “cats” समान व्यवहार करते हैं।
  • Edge Cases: प्रत्यय की लंबाई से छोटे शब्दों को अनदेखा किया जाता है ताकि खाली स्ट्रिंग लौटाने से बचा जा सके।
  • Performance: बड़े शब्दकोश के लिए, ConcurrentHashMap में परिणामों को कैश करने पर विचार करें।

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

create word forms provider को इम्प्लीमेंट करने से कई वास्तविक परिदृश्यों में सुधार हो सकता है:

  1. Search Engines: “mouse” टाइप करने वाले उपयोगकर्ता को “mice” वाले दस्तावेज़ भी मिलने चाहिए। एक प्रोवाइडर ऐसे अनियमित रूप उत्पन्न कर सकता है।
  2. Text Analysis Tools: जब सभी शब्द रूप पहचाने जाते हैं तो सेंटिमेंट या एंटिटी एक्सट्रैक्शन अधिक विश्वसनीय बन जाता है।
  3. Content Management Systems: ऑटोमैटिक टैग जेनरेशन में बहुवचन समानार्थी शब्द शामिल हो सकते हैं, जिससे SEO और इंटरनल लिंकिंग में सुधार होता है।

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

जब आप प्रोवाइडर को प्रोडक्शन सिस्टम में एम्बेड करते हैं, तो इन टिप्स को ध्यान में रखें:

  • Cache Frequently Used Forms: एक ही शब्द को बार‑बार पुनः गणना करने से बचने के लिए परिणामों को मेमोरी में स्टोर करें।
  • Monitor JVM Heap: बड़े इंडेक्स मेमोरी प्रेशर बढ़ा सकते हैं; -Xmx को तदनुसार ट्यून करें।
  • Use Efficient Collections: छोटे सेट के लिए ArrayList काम करता है, लेकिन हजारों रूपों के लिए डुप्लिकेट जल्दी हटाने हेतु HashSet पर विचार करें।

Best Practices

  • लाइब्रेरी को अप‑टू‑डेट रखें ताकि प्रदर्शन पैच से लाभ मिल सके।
  • वास्तविक क्वेरी लोड के साथ प्रोवाइडर को प्रोफ़ाइल करें ताकि बॉटलनेक जल्दी पहचान सकें।

निष्कर्ष

अब आपने जावा में एकवचन बहुवचन रूप उत्पन्न करने के लिए GroupDocs.Search के साथ एक कस्टम SimpleWordFormsProvider का उपयोग करना सीख लिया है। यह हल्का घटक कई एप्लिकेशनों में सर्च परिणामों की प्रासंगिकता और भाषाई विश्लेषण की सटीकता को नाटकीय रूप से सुधार सकता है।

अगले कदम:

  • अधिक परिष्कृत भाषाई नियमों (अनियमित बहुवचन, स्टेमिंग) के साथ प्रयोग करें।
  • प्रोवाइडर को इंडेक्सिंग पाइपलाइन में इंटीग्रेट करें और रिकॉल सुधार को मापें।
  • साइनोनिम डिक्शनरी और कस्टम एनालाइज़र जैसे अन्य GroupDocs.Search फीचर्स का अन्वेषण करें।

Call to Action: आज ही अपने प्रोजेक्ट में SimpleWordFormsProvider जोड़ें और देखें कि यह आपके सर्च अनुभव को कैसे समृद्ध करता है!

FAQ सेक्शन

1. GroupDocs.Search for Java क्या है?
यह एक शक्तिशाली लाइब्रेरी है जो फुल‑टेक्स्ट सर्च, इंडेक्सिंग, और भाषाई फीचर्स प्रदान करती है—जिसमें कस्टम word‑form प्रोवाइडर को प्लग करने की क्षमता भी शामिल है।

2. SimpleWordFormsProvider कैसे काम करता है?
यह सरल प्रत्यय‑आधारित नियमों (“s/es” हटाना, “y” को “is” में बदलना, और “s/es” जोड़ना) को लागू करके वैकल्पिक रूप उत्पन्न करता है।

3. क्या मैं word form जनरेशन नियमों को कस्टमाइज़ कर सकता हूँ?
बिल्कुल। getWordForms मेथड को संशोधित करके अनियमित रूप, लोकेल‑विशिष्ट नियम, या बाहरी डिक्शनरी के साथ इंटीग्रेशन शामिल कर सकते हैं।

4. इस फीचर के कुछ सामान्य अनुप्रयोग क्या हैं?
सर्च इंजन, टेक्स्ट‑एनालिसिस पाइपलाइन, और CMS प्लेटफ़ॉर्म एकवचन/बहुवचन रूपों को पहचानने से लाभान्वित होते हैं।

5. क्या उत्पादन उपयोग के लिए मुझे व्यावसायिक लाइसेंस चाहिए?
हां—जबकि ट्रायल आपको API का अन्वेषण करने देता है, एक खरीदा गया लाइसेंस उपयोग सीमाओं को हटाता है और सपोर्ट प्रदान करता है।


अंतिम अपडेट: 2026-02-21
परीक्षित संस्करण: GroupDocs.Search 25.4 (Java)
लेखक: GroupDocs