GroupDocs Search नेटवर्क को Java के लिए कैसे कॉन्फ़िगर करें

आज के तेज़ी से बदलते डिजिटल वातावरण में, configure groupdocs search network कौशल किसी भी संगठन के लिए आवश्यक हैं जिन्हें लाखों दस्तावेज़ों को तेज़ और विश्वसनीय तरीके से खोजने की आवश्यकता होती है। एक अच्छी तरह से कॉन्फ़िगर किया गया सर्च नेटवर्क इंडेक्सिंग और क्वेरी कार्यभार को कई JVM नोड्स में वितरित करता है, प्रतिक्रिया समय को कम रखता है, और उच्च उपलब्धता की गारंटी देता है। यह ट्यूटोरियल आपको प्रत्येक चरण से परिचित कराता है— Maven सेटअप और लाइसेंस सक्रियण से लेकर नोड डिप्लॉयमेंट, इवेंट सब्सक्रिप्शन, दस्तावेज़ इंडेक्सिंग, और यहाँ तक कि इमेज‑आधारित खोज तक— ताकि आप Java में एक प्रोडक्शन‑रेडी GroupDocs.Search नेटवर्क बना सकें।

त्वरित उत्तर

  • What is the primary purpose of a search network? इंडेक्सिंग और क्वेरी लोड को कई नोड्स में वितरित करके बेहतर स्केलेबिलिटी और विश्वसनीयता प्रदान करना।
  • Which port does GroupDocs.Search use by default? उदाहरण में पोर्ट 49120 उपयोग किया गया है, लेकिन आप कोई भी मुक्त पोर्ट चुन सकते हैं।
  • Can I add or remove nodes without downtime? हाँ—नोड्स को गतिशील रूप से डिप्लॉय या हटाया जा सकता है।
  • Do I need a license for production? उत्पादन उपयोग के लिए पूर्ण लाइसेंस आवश्यक है; मूल्यांकन के लिए ट्रायल लाइसेंस उपलब्ध हैं।
  • Is image search supported out of the box? हाँ—GroupDocs.Search बिल्ट‑इन इमेज हैश तुलना प्रदान करता है।

सर्च नेटवर्क क्या है?

SearchNetworkNode क्लस्टर में एक व्यक्तिगत नोड है जो साझा इंडेक्स की एक प्रति होस्ट करता है और सर्च अनुरोधों को प्रोसेस करता है। search network इंटरकनेक्टेड SearchNetworkNode इंस्टेंसों का संग्रह है जो इंडेक्सिंग जानकारी साझा करते हैं और सहयोगी रूप से क्वेरी का उत्तर देते हैं। यह आर्किटेक्चर आपको बड़े दस्तावेज़ संग्रह को संभालने की अनुमति देता है जबकि प्रतिक्रिया समय कम रखता है, और यदि कोई नोड ऑफ़लाइन हो जाता है तो स्वचालित फेलओवर सक्षम करता है।

Java के लिए GroupDocs.Search क्यों उपयोग करें?

अपने Java एप्लिकेशन को एक सर्च इंजन के साथ लोड करें जो मिनटों में configure groupdocs search network कर सकता है, क्षैतिज रूप से स्केल करता है, और 30 से अधिक फ़ाइल फ़ॉर्मेट—जैसे PDF, DOCX, XLSX, PPTX, और सामान्य इमेज प्रकार—को समर्थन देता है। बेंचमार्क दिखाते हैं कि एक तीन‑नोड क्लस्टर मानक सर्वर हार्डवेयर पर 30 मिनट से कम समय में 500,000 दस्तावेज़ों को इंडेक्स कर सकता है, जबकि क्वेरी लेटेंसी भारी समवर्ती लोड में भी 200 ms से कम रहती है।

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

  • JDK 8+ प्रत्येक मशीन पर स्थापित होना चाहिए जो नोड चलाएगी।
  • आसान प्रोजेक्ट प्रबंधन के लिए IntelliJ IDEA या Eclipse जैसे IDE।
  • डिपेंडेंसी रिज़ॉल्यूशन के लिए Maven।
  • Java नेटवर्किंग (TCP पोर्ट, फ़ायरवॉल) और मल्टीथ्रेडिंग अवधारणाओं का बुनियादी ज्ञान।

आवश्यक लाइब्रेरीज़ और डिपेंडेंसियां

pom.xml में GroupDocs रिपॉजिटरी और डिपेंडेंसी जोड़ें:

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

GroupDocs.Search को Java के लिए सेट अप करना

Maven के माध्यम से इंस्टॉलेशन

ऊपर दिया गया Maven स्निपेट लाइब्रेरी को स्वचालित रूप से आपके प्रोजेक्ट में लाता है।

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

  • Free Trial – बिना क्रेडिट कार्ड के कोर फीचर्स का अन्वेषण करें।
  • Temporary License – आंतरिक पायलट के लिए विस्तारित परीक्षण अवधि।
  • Full License – प्रोडक्शन‑रेडी, असीमित उपयोग, और प्रायोरिटी सपोर्ट।

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

SearchNetworkDeployment क्लास सर्च क्लस्टर की निर्माण और प्रबंधन को व्यवस्थित करता है, नोड लाइफ़साइकल और साझा संसाधनों को संभालता है। किसी भी नोड के साथ इंटरैक्ट करने से पहले, आपको एक SearchNetworkDeployment ऑब्जेक्ट बनाना होगा और उसे एक साझा इंडेक्स फ़ोल्डर की ओर इंगित करना होगा। निम्नलिखित कोड ब्लॉक (मूल ट्यूटोरियल से संरक्षित) न्यूनतम बूटस्ट्रैप दिखाता है:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Create an instance of Index with the path to store index data.
        String indexPath = "path/to/index";
        Index index = new Index(indexPath);
        
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

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

अब हम प्रत्येक कोर टास्क में गहराई से जाएंगे, स्पष्ट, चरण‑दर‑चरण व्याख्याओं के साथ जो मूल कोड प्लेसहोल्डर्स से पहले आती हैं।

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

कई नोड्स को डिप्लॉय करने से कार्यभार वितरित होता है और फॉल्ट टॉलरेंस में सुधार होता है। SearchNetworkNode सर्च क्लस्टर में भाग लेने वाली व्यक्तिगत JVM इंस्टेंस को दर्शाता है, जो इंडेक्सिंग और क्वेरी अनुरोधों को संभालता है। लगातार पोर्ट्स पर कई नोड्स लॉन्च करके आप एक लचीला नेटवर्क बनाते हैं जहाँ प्रत्येक नोड क्लाइंट कॉल्स को सर्व कर सकता है और साझा इंडेक्स को साझा करता है।

public class SearchNetworkDeployment {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Change if necessary.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);

        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
        
        System.out.println("Deployed " + nodes.length + " search network nodes.");
    }
}

इवेंट्स को कैसे सब्सक्राइब करें

इवेंट सब्सक्रिप्शन आपको नोड स्वास्थ्य, इंडेक्सिंग प्रगति, और त्रुटियों की लाइव जानकारी देता है। SearchNetworkEvents क्लास कॉलबैक्स का सेट प्रदान करता है जो इंडेक्सिंग पूर्णता, नोड फेल्योर, या कस्टम नोटिफिकेशन्स जैसे महत्वपूर्ण कार्यों पर ट्रिगर होते हैं। मास्टर या वर्कर नोड्स पर लिस्नर्स रजिस्टर करने से रियल‑टाइम मॉनिटरिंग और ऑटोमेटेड रिस्पॉन्सेस सक्षम होते हैं, जिससे नेटवर्क सुचारू रूप से चलता रहता है।

public class NodeEventSubscription {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Adjust if needed.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        SearchNetworkEvents.subscribe(nodes[0]);
        
        System.out.println("Subscribed to events for the master node.");
    }
}

दस्तावेज़ों को कैसे इंडेक्स करें

कुशल इंडेक्सिंग तेज़ सर्च परिणामों की रीढ़ है। जब आप मास्टर नोड में डायरेक्टरी जोड़ते हैं, तो इंजन प्रत्येक फ़ाइल को स्कैन करता है, सर्चेबल कंटेंट निकालता है, और उसे साझा इंडेक्स स्ट्रक्चर में संग्रहीत करता है। यह प्रक्रिया क्रमिक रूप से चल सकती है, केवल बदली हुई फ़ाइलों को अपडेट करती है, जिससे I/O लोड कम होता है और क्वेरी हमेशा नवीनतम दस्तावेज़ संस्करणों को दर्शाती है।

public class DocumentIndexing {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Change if there is a conflict.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        IndexingDocuments.addDirectories(nodes[0], "YOUR_DOCUMENT_DIRECTORY");
        
        System.out.println("Added directories to master node's index.");
    }
}

इमेज सर्च कैसे करें

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

public class ImageSearch {
    public static void run() {
        String basePath = "YOUR_DOCUMENT_DIRECTORY";
        int basePort = 49120; // Modify if needed.
        Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
        SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

        SearchImage searchImage = SearchImage.create("YOUR_DOCUMENT_DIRECTORY/ic_arrow_back_black_18dp.png");

        imageSearch(nodes[0], searchImage, 8);
    }
}

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

यदि आपका वातावरण पहले से पोर्ट 49120 उपयोग करता है, तो आप इसे किसी भी मुक्त TCP पोर्ट में बदल सकते हैं। basePort पैरामीटर क्लस्टर के लिए प्रारंभिक पोर्ट नंबर निर्धारित करता है, और प्रत्येक अगले नोड इस मान को स्वचालित रूप से बढ़ाता है। सुनिश्चित करें कि चयनित पोर्ट आपके फ़ायरवॉल में खुला है, अन्य सेवाओं द्वारा कब्ज़ा नहीं है, और सभी नोड्स में लगातार कॉन्फ़िगर किया गया है ताकि सहज संचार बना रहे।

int customPort = 50000; // Example of a custom port.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, customPort);

सामान्य समस्याएँ और ट्रबलशूटिंग

लक्षणसंभावित कारणसमाधान
नोड्स शुरू नहीं हो रहे हैंपोर्ट टकरावएक अलग basePort चुनें और फ़ायरवॉल नियम अपडेट करें।
इंडेक्सिंग धीमी हैअपर्याप्त I/O बैंडविड्थSSD स्टोरेज उपयोग करें और क्रमिक इंडेक्सिंग सक्षम करें।
इवेंट सब्सक्रिप्शन नहीं चल रहा हैइवेंट हैंडलर रजिस्ट्रेशन गायबसुनिश्चित करें कि SearchNetworkEvents.subscribe(node) किसी भी इंडेक्सिंग शुरू होने से पहले कॉल किया गया है।
इमेज सर्च कोई परिणाम नहीं देताहैश अंतर बहुत कमअनुमत हैश अंतर बढ़ाएँ (उदा., 4 से 8 तक)।

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

Q: मैं GroupDocs.Search नेटवर्क में इंडेक्सिंग प्रदर्शन को कैसे अनुकूलित करूँ?
A: क्रमिक इंडेक्सिंग का उपयोग करें, इंडेक्स को तेज़ SSDs पर रखें, और JVM के लिए पर्याप्त हीप मेमोरी आवंटित करें।

Q: क्या मैं पूरे सर्च नेटवर्क को रीस्टार्ट किए बिना नोड्स जोड़ या हटा सकता हूँ?
A: हाँ—नोड्स को गतिशील रूप से डिप्लॉय या हटाया जा सकता है। नोड जोड़ने के बाद, क्लस्टर व्यू को रिफ्रेश करने के लिए SearchNetworkDeployment.deploy फिर से कॉल करें।

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

Q: क्या विभिन्न दस्तावेज़ फ़ॉर्मेट्स को एक साथ खोजा जा सकता है?
A: बिल्कुल। GroupDocs.Search एक ही क्वेरी में PDFs, Word, Excel, PowerPoint, इमेजेज, और कई अन्य फ़ॉर्मेट्स को समर्थन देता है।

Q: GroupDocs.Search नेटवर्क में डेटा कितना सुरक्षित है?
A: सुरक्षा आपके इन्फ्रास्ट्रक्चर पर निर्भर करती है। नोड संचार के लिए SSL/TLS लागू करें, नेटवर्क एक्सेस को सीमित रखें, और डेटा संरक्षण के सर्वोत्तम अभ्यासों का पालन करें।


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

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