GroupDocs.Search के साथ Java में सर्च को कॉन्फ़िगर कैसे करें

आज की तेज़ी से बदलती डिजिटल दुनिया में, how to configure search को प्रभावी ढंग से करना किसी प्रोजेक्ट की सफलता को तय कर सकता है। चाहे आप हजारों अनुबंधों, शोध पत्रों, या आंतरिक रिपोर्टों से निपट रहे हों, एक अच्छी तरह से डिज़ाइन किया गया सर्च नेटवर्क आपको सही दस्तावेज़ सेकंडों में खोजने में मदद करता है। यह ट्यूटोरियल आपको सर्च नेटवर्क को कॉन्फ़िगर करने, नोड्स को डिप्लॉय करने, और GroupDocs.Search for Java के साथ real time search updates सक्षम करने की प्रक्रिया दिखाता है।

त्वरित उत्तर

  • सर्च नेटवर्क का मुख्य उद्देश्य क्या है? स्केलेबिलिटी और गति के लिए इंडेक्सिंग और क्वेरी प्रोसेसिंग को कई नोड्स में वितरित करना।
  • कौन सा लाइब्रेरी संस्करण आवश्यक है? GroupDocs.Search for Java v25.4 या उससे नया।
  • क्या मुझे लाइसेंस की जरूरत है? मूल्यांकन के लिए फ्री ट्रायल काम करता है; प्रोडक्शन के लिए कमर्शियल लाइसेंस आवश्यक है।
  • रियल‑टाइम अपडेट्स कैसे संभाले जाते हैं? इंडेक्सिंग परिवर्तन पर फायर होने वाले नोड इवेंट्स को सब्सक्राइब करके।
  • क्या मैं नई दस्तावेज़ फ़ोल्डर तुरंत जोड़ सकता हूँ? हां—इंडेक्सर की addDirectories मेथड का उपयोग करें।

GroupDocs संदर्भ में “how to configure search” क्या है?

सर्च को कॉन्फ़िगर करना मतलब एक search network सेट अप करना है जो जानता है कि आपके दस्तावेज़ कहाँ हैं, नोड्स कैसे संवाद करते हैं, और इंडेक्सिंग कैसे समन्वित होती है। एक बार नेटवर्क कॉन्फ़िगर हो जाने पर, आप नोड्स को बिना डाउntime के जोड़ या हटा सकते हैं, जिससे हमेशा अद्यतित सर्च परिणामों तक निरंतर पहुँच सुनिश्चित होती है।

GroupDocs.Search for Java का उपयोग क्यों करें?

  • Scalability: कार्यभार को कई मशीनों में वितरित करें।
  • Real‑time updates: नेटवर्क में नई इंडेक्स की गई फ़ाइलों को तुरंत प्रतिबिंबित करें।
  • Ease of integration: सरल Maven सेटअप और स्पष्ट Java APIs।
  • Enterprise‑ready: बड़े कॉर्पोरा और जटिल क्वेरी परिदृश्यों को संभालता है।

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

  • Java Development Kit (JDK) 8+ स्थापित हो।
  • Maven डिपेंडेंसी मैनेजमेंट के लिए।
  • Java, Maven, और सर्च अवधारणाओं की बुनियादी परिचितता।

GroupDocs.Search for Java की सेटअप

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>

Direct Download: आप लाइब्रेरी को GroupDocs.Search for Java releases से भी प्राप्त कर सकते हैं।

लाइसेंस प्राप्ति

  • Free Trial: सभी फीचर्स को एक्सप्लोर करने के लिए ट्रायल लाइसेंस प्राप्त करें।
  • Temporary License: विस्तारित मूल्यांकन अवधि के लिए अनुरोध करें।
  • Commercial License: प्रोडक्शन डिप्लॉयमेंट के लिए आवश्यक।

बेसिक इनिशियलाइज़ेशन

import com.groupdocs.search.Configuration;
// Initialize configuration with your document path and port
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/GettingDocumentsInNetwork/";
int basePort = 49112;

Configuration config = new Configuration(basePath, basePort);

Java में सर्च नेटवर्क को कॉन्फ़िगर कैसे करें

चरण 1: आवश्यक पैकेज इम्पोर्ट करें

import com.groupdocs.search.scaling.ConfiguringSearchNetwork;
import com.groupdocs.search.scaling.Configuration;

चरण 2: नेटवर्क को कॉन्फ़िगर करें

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/GettingDocumentsInNetwork/";
int basePort = 49112;

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
  • Parameters: basePath आपके दस्तावेज़ फ़ोल्डर की ओर इशारा करता है; basePort नोड संचार के लिए उपयोग किया जाने वाला TCP पोर्ट है।

सर्च नेटवर्क नोड्स को डिप्लॉय करना

चरण 1: डिप्लॉयमेंट पैकेज इम्पोर्ट करें

import com.groupdocs.search.scaling.SearchNetworkDeployment;
import com.groupdocs.search.scaling.SearchNetworkNode;

चरण 2: नोड्स को डिप्लॉय करें

String[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0]; // Designate the first node as the master node
  • Master Node: सभी नोड्स में सर्च और इंडेक्सिंग का समन्वय करता है।

रियल‑टाइम सर्च अपडेट्स के लिए नोड इवेंट्स को सब्सक्राइब करना

चरण 1: इवेंट पैकेज इम्पोर्ट करें

import com.groupdocs.search.scaling.SearchNetworkNodeEvents;

चरण 2: मास्टर नोड इवेंट्स को सब्सक्राइब करें

SearchNetworkNodeEvents.subscribe(masterNode);
  • Event Handling: जब भी दस्तावेज़ जोड़े, अपडेट या हटाए जाएँ, real time search updates सक्षम करता है।

इंडेक्सिंग के लिए डायरेक्टरीज़ जोड़ना

चरण 1: इंडेक्सर पैकेज इम्पोर्ट करें

import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.scaling.Indexer;

चरण 2: दस्तावेज़ डायरेक्टरीज़ जोड़ें

Indexer indexer = masterNode.getIndexer();
indexer.addDirectories("YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
  • Dynamic Indexing: जितनी भी फ़ोल्डर आवश्यक हों जोड़ें; नेटवर्क उन्हें स्वचालित रूप से इंडेक्स करेगा।

इंडेक्स किए गए दस्तावेज़ प्राप्त करना

चरण 1: सर्चर पैकेज इम्पोर्ट करें

import com.groupdocs.search.scaling.Searcher;
import com.groupdocs.search.scaling.NetworkDocumentInfo;

चरण 2: दस्तावेज़ जानकारी प्राप्त करें

Searcher searcher = masterNode.getSearcher();
int[] shardIndices = masterNode.getShardIndices();

for (int i = 0; i < shardIndices.length; i++) {
    int shardIndex = shardIndices[i];
    NetworkDocumentInfo[] infos = searcher.getIndexedDocuments(shardIndex);

    for (NetworkDocumentInfo info : infos) {
        int nodeIndex = masterNode.getNodeIndex(info.getShardIndex());
        String filePath = info.getDocumentInfo().getFilePath();

        // Retrieve and process document attributes
        String[] attributes = indexer.getAttributes(filePath);
        
        NetworkDocumentInfo[] items = searcher.getIndexedDocumentItems(info);
        for (NetworkDocumentInfo item : items) {
            // Process each indexed item
        }
    }
}
  • Shard Management: दस्तावेज़ों को शार्ड्स में वितरित करके बड़े डेटासेट को कुशलता से संभालता है।

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

  1. Enterprise Document Management: लाखों फ़ाइलों में सर्च को केंद्रीकृत करें।
  2. Legal Firms: केस फ़ाइलें, अनुबंध और साक्ष्य जल्दी खोजें।
  3. Academic Research: जर्नल और पेपर को इंडेक्स करके तुरंत पुनः प्राप्ति करें।

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

  • Optimize Indexing: नियमित रूप से इंडेक्स रिफ्रेश शेड्यूल करें और पुराना डेटा हटाएँ।
  • Memory Management: JVM हीप की निगरानी करें, विशेषकर बड़े शार्ड्स को संभालते समय।
  • Scalability Planning: जैसे-जैसे आपका कॉर्पस बढ़े, नोड्स जोड़ें; नेटवर्क स्वचालित रूप से लोड संतुलित करता है।

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

समस्याकारणसमाधान
नोड्स कनेक्ट नहीं हो पा रहे हैंपोर्ट टकराव या फ़ायरवॉलbasePort खुला हो और अन्य सेवाओं द्वारा उपयोग न किया गया हो, यह सुनिश्चित करें।
इंडेक्स अपडेट नहीं हो रहाइवेंट सब्सक्रिप्शन अनुपस्थितडिप्लॉयमेंट के बाद SearchNetworkNodeEvents.subscribe(masterNode) को कॉल करें।
आउट‑ऑफ़‑मेमोरी त्रुटियाँबहुत सारे बड़े शार्ड्स लोड हो रहे हैंशार्ड आकार कम करें या JVM हीप (-Xmx फ़्लैग) बढ़ाएँ।

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

Q: क्या मैं नेटवर्क चलने के बाद नई डायरेक्टरीज़ जोड़ सकता हूँ?
A: हाँ—indexer.addDirectories() मेथड का उपयोग करें; सब्सक्राइब किए गए इवेंट्स रियल‑टाइम में अपडेट्स को प्रसारित करेंगे।

Q: मैं नोड स्वास्थ्य कैसे मॉनिटर करूँ?
A: प्रत्येक SearchNetworkNode स्थिति APIs प्रदान करता है; इसे अपने पसंदीदा मॉनिटरिंग टूल के साथ इंटीग्रेट करें।

Q: क्या मास्टर नोड को अलग मशीन पर चलाना संभव है?
A: बिल्कुल। बस यह सुनिश्चित करें कि सभी नोड्स समान basePort साझा करें और नेटवर्क के माध्यम से एक‑दूसरे तक पहुँच सकें।

Q: कौन‑से फ़ाइल फ़ॉर्मेट सपोर्टेड हैं?
A: GroupDocs.Search PDFs, Word, Excel, PowerPoint, plain text, और कई अन्य फ़ॉर्मेट को बॉक्स से ही सपोर्ट करता है।

Q: नया नोड जोड़ने के बाद मुझे नेटवर्क रीस्टार्ट करना पड़ेगा?
A: नहीं—नोड्स को डायनामिक रूप से जोड़ा या हटाया जा सकता है; मास्टर नोड स्वचालित रूप से शार्ड्स को पुनः संतुलित करेगा।

निष्कर्ष

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


Last Updated: 2026-01-08
Tested With: GroupDocs.Search for Java 25.4
Author: GroupDocs