जावा में GroupDocs.Search का उपयोग करके समानार्थक शब्दों के साथ खोज कैसे करें

यदि आप चाहते हैं कि आपके उपयोगकर्ता विभिन्न शब्द टाइप करने पर भी सही सामग्री खोज सकें, तो search with synonyms ही उत्तर है। इस गाइड में हम आपको वह सब बताएँगे जो आपको जानना आवश्यक है—समानार्थक शब्दकोश बनाना, उसे आयात/निर्यात करना, समानार्थक समूहों का प्रबंधन, और अंत में एक ऐसी खोज चलाना जो उन समानार्थकों का उपयोग करके क्वेरी को स्वचालित रूप से विस्तारित करे। चाहे आप CMS, e‑commerce कैटलॉग, या कानूनी दस्तावेज़ रिपॉजिटरी बना रहे हों, समानार्थक समर्थन जोड़ने से प्रासंगिकता और रूपांतरण दर में काफी वृद्धि हो सकती है।

Quick Answers

  • समानार्थक शब्द जोड़ने का प्राथमिक चरण क्या है? Index को इनिशियलाइज़ करें और SynonymDictionary API का उपयोग करें।
  • क्या मैं समानार्थक शब्दकोश आयात कर सकता हूँ? हाँ – importDictionary(path) का उपयोग करके पूर्व-निर्मित फ़ाइल लोड करें।
  • समानार्थक शब्दों के साथ खोज कैसे सक्षम करें? SearchOptions.setUseSynonymSearch(true) सेट करें।
  • क्या समानार्थक समूहों का प्रबंधन संभव है? बिल्कुल – आप शब्दकोश API के माध्यम से समूहों को साफ़, जोड़ या प्राप्त कर सकते हैं।
  • खोज इंडेक्स को अनुकूलित करते समय क्या विचार करना चाहिए? अनावश्यक प्रविष्टियों को नियमित रूप से हटाएँ और बड़े डेटा सेट के लिए JVM हीप को ट्यून करें।

What Is Search with Synonyms?

“Search with synonyms” का अर्थ है कि इंजन शब्दों या वाक्यांशों के एक सेट को परस्पर विनिमेय मानता है। जब उपयोगकर्ता “better” टाइप करता है, तो इंजन “improve”, “enhance”, या उसी समानार्थक समूह में परिभाषित किसी भी अन्य शब्द को भी खोजता है, जिससे उपयोगकर्ता की क्वेरी बदले बिना अधिक समृद्ध परिणाम मिलते हैं।

Why Enable Synonym Support in GroupDocs.Search?

  • बेहतर उपयोगकर्ता अनुभव: आगंतुक विभिन्न शब्दावली का उपयोग करने पर भी प्रासंगिक दस्तावेज़ पा लेते हैं।
  • उच्च रूपांतरण दर: e‑commerce प्लेटफ़ॉर्म विभिन्न उत्पाद शब्दों से मेल करके अधिक बिक्री प्राप्त करते हैं।
  • सरल रखरखाव: एक केंद्रीकृत शब्दकोश कई अनुप्रयोगों की सेवा कर सकता है, जिससे अपडेट आसान हो जाते हैं।

Prerequisites

  • GroupDocs.Search for Java संस्करण 25.4 या नया।
  • एक Java IDE (IntelliJ IDEA, Eclipse, आदि) जिसमें Maven समर्थन हो।
  • बुनियादी Java ज्ञान और Maven प्रोजेक्ट संरचना की परिचितता।

Required Libraries and Versions

  • GroupDocs.Search for Java संस्करण 25.4 या उच्चतर।

Environment Setup

  • आपकी पसंद का IDE (IntelliJ IDEA, Eclipse, आदि)।
  • निर्भरता प्रबंधन के लिए Maven।

Knowledge Requirements

  • Java में ऑब्जेक्ट‑ओरिएंटेड प्रोग्रामिंग।
  • बुनियादी फ़ाइल I/O संचालन।

Setting Up GroupDocs.Search for Java

Installation Information

Add the repository and dependency to your 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>

Direct Download – आप नवीनतम JAR को GroupDocs.Search for Java releases से भी डाउनलोड कर सकते हैं।

License Acquisition

  • Free Trial: लाइसेंस के बिना कोर फीचर्स का परीक्षण करें।
  • Temporary License: मूल्यांकन के दौरान ट्रायल क्षमताओं को बढ़ाएँ।
  • Purchase: प्रोडक्शन उपयोग और पूर्ण फीचर सेट के लिए आवश्यक।

Basic Initialization and Setup

Create an Index instance, then add documents to be searchable:

import com.groupdocs.search.*;

String indexFolder = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/ManagingDictionaries/SynonymDictionary/Index";
String documentsFolder = "YOUR_DOCUMENT_DIRECTORY/DocumentsPath2";

// Creating an index in the specified folder
Index index = new Index(indexFolder);

// Adding documents from a specific folder to the index
index.add(documentsFolder);

How to Add Synonyms to Your Search Index

इंडेक्स बनाना आधार है। नीचे हम आवश्यक चरणों को समझाते हैं, प्रत्येक के साथ वह सटीक कोड दिया गया है जिसकी आपको आवश्यकता है।

Feature 1: Creating and Indexing an Index

// Create an index in the specified folder
Index index = new Index(indexFolder);

// Add documents from the given folder to the index
index.add(documentsFolder);

Feature 2: Retrieving Synonyms for a Word

String[] synonyms = index.getDictionaries().getSynonymDictionary().getSynonyms("make");

Feature 3: Retrieving Synonym Groups

String[][] synonymGroups = index.getDictionaries().getSynonymDictionary().getSynonymGroups("make");

Feature 4: Managing Synonym Dictionary Entries

if (index.getDictionaries().getSynonymDictionary().getCount() > 0) {
    index.getDictionaries().getSynonymDictionary().clear();
}

String[][] newSynonymGroups = new String[][]{
    new String[] { "achieve", "accomplish", "attain", "reach" },
    new String[] { "accept", "take", "have" },
    new String[] { "improve", "better" }
};

index.getDictionaries().getSynonymDictionary().addRange(newSynonymGroups);

Feature 5: Exporting Synonyms to a File

String exportFilePath = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/ManagingDictionaries/SynonymDictionary/Synonyms.dat";
index.getDictionaries().getSynonymDictionary().exportDictionary(exportFilePath);

Feature 6: Importing Synonyms from a File

index.getDictionaries().getSynonymDictionary().importDictionary(exportFilePath);

Feature 7: Performing Search with Synonym Support

String query = "better";
SearchOptions options = new SearchOptions();
options.setUseSynonymSearch(true);

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

How to Search with Synonyms

setUseSynonymSearch(true) को सक्षम करके, इंजन आपके द्वारा बनाए या आयात किए गए समानार्थक शब्दकोश का उपयोग करके क्वेरी को स्वचालित रूप से विस्तारित करता है। यह चरण उपयोगकर्ता के खोज व्यवहार को बदले बिना अधिक समृद्ध परिणाम प्रदान करने के लिए महत्वपूर्ण है।

How to Import Synonym Dictionary

यदि आपके पास किसी अन्य वातावरण द्वारा तैयार किया गया .dat फ़ाइल पहले से है, तो बस importDictionary(path) को कॉल करें। यह विकास, स्टेजिंग और प्रोडक्शन सर्वरों के बीच शब्दकोशों को सिंक्रनाइज़ करने के लिए आदर्श है।

How to Manage Synonym Groups

समानार्थक समूह आपको शब्दों के सेट को एकल तार्किक इकाई के रूप में मानने की अनुमति देते हैं। समूहों को जोड़ना, साफ़ करना या प्राप्त करना SynonymDictionary API के माध्यम से किया जाता है, जैसा कि ऊपर कोड स्निपेट्स में दिखाया गया है।

How to Optimize Search Index

  • नियमित रूप से अनावश्यक प्रविष्टियों को हटाएँ: बड़े अपडेट से पहले clear() का उपयोग करें।
  • JVM हीप को समायोजित करें: बड़े शब्दकोशों को अधिक मेमोरी की आवश्यकता हो सकती है।
  • लाइब्रेरी को अद्यतित रखें: नई रिलीज़ में प्रदर्शन सुधार शामिल होते हैं।

Practical Applications

  1. Content Management Systems (CMS): उपयोगकर्ता वैकल्पिक शब्दावली का उपयोग करने पर भी लेख खोजते हैं।
  2. E‑commerce Platforms: उत्पाद खोजें “laptop” बनाम “notebook” जैसे समानार्थकों के प्रति सहनशील हो जाती हैं।
  3. Document Repositories: कानूनी या चिकित्सा अभिलेखागार डोमेन‑विशिष्ट समानार्थक समूहों से लाभान्वित होते हैं।

Performance Considerations

  • इंडेक्स स्टोरेज को अनुकूलित करें: समय-समय पर इंडेक्स को पुनः बनाकर पुराना डेटा हटाएँ।
  • मेमोरी उपयोग प्रबंधन: बड़े समानार्थक फ़ाइलें लोड करते समय हीप खपत की निगरानी करें।
  • नियमित अपडेट: बग फिक्स और गति सुधार के लिए नवीनतम GroupDocs.Search संस्करण पर रहें।

Common Issues and Solutions

समस्यासंभावित कारणसमाधान
कोई समानार्थक मिलान नहीं दिख रहा हैsetUseSynonymSearch(true) सेट नहीं है या शब्दकोश आयात नहीं किया गयाविकल्प सक्षम है और शब्दकोश फ़ाइल मौजूद है, यह सत्यापित करें।
आयात के दौरान मेमोरी समाप्ति त्रुटियांबहुत बड़ी .dat फ़ाइल JVM हीप से अधिक है-Xmx हीप आकार बढ़ाएँ या छोटे बैच में आयात करें।
परिणामों में डुप्लिकेट प्रविष्टियांएक ही शब्द कई समानार्थक समूहों में मौजूद हैclear() के बाद addRange() का उपयोग करके ओवरलैपिंग समूहों को समेकित करें।

Frequently Asked Questions

Q: GroupDocs.Search उपयोग करने के लिए न्यूनतम सिस्टम आवश्यकता क्या है?
A: कोई भी आधुनिक OS जिसमें संगत JDK (Java 8 या नया) हो, पर्याप्त है।

Q: मुझे अपने समानार्थक शब्दकोश को कितनी बार रिफ्रेश करना चाहिए?
A: जब भी नई शब्दावली उत्पन्न हो, उसे अपडेट करें—स्वच्छ रिफ्रेश के लिए clear() के बाद addRange() उपयोग करें।

Q: क्या मैं बिना लाइसेंस खरीदे GroupDocs.Search चला सकता हूँ?
A: मूल्यांकन के लिए फ्री ट्रायल काम करता है, लेकिन प्रोडक्शन डिप्लॉयमेंट के लिए लाइसेंस आवश्यक है।

Q: बड़े डेटा सेट को इंडेक्स करने के लिए सर्वोत्तम प्रथाएँ क्या हैं?
A: डेटा को तार्किक बैचों में विभाजित करें, हीप उपयोग की निगरानी करें, और नियमित इंडेक्स रखरखाव निर्धारित करें।

Q: मुझे अपेक्षित समानार्थक मिलान नहीं दिख रहे—मैं क्या जांचूँ?
A: सुनिश्चित करें कि शब्दकोश सही ढंग से आयात किया गया है, setUseSynonymSearch(true) सक्रिय है, और शब्द समानार्थक समूहों में मौजूद हैं।

Resources


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