स्केलेबल सर्च नेटवर्क बनाएं – GroupDocs.Java के साथ दस्तावेज़ों को इंडेक्स करें

इस ट्यूटोरियल में आप सीखेंगे दस्तावेज़ों को इंडेक्स में जोड़ने और स्केलेबल सर्च नेटवर्क बनाने के बारे में GroupDocs.Search for Java के साथ। हम सर्च नेटवर्क को कॉन्फ़िगर करने, नोड्स को डिप्लॉय करने, और इवेंट्स को हैंडल करने की प्रक्रिया को देखेंगे ताकि आपका एप्लिकेशन कई सर्वरों पर बड़े दस्तावेज़ संग्रह को प्रभावी ढंग से प्रोसेस कर सके।

त्वरित उत्तर

  • “दस्तावेज़ों को इंडेक्स में जोड़ना” क्या मतलब है? इसका अर्थ है फ़ाइलों को एक सर्चेबल इंडेक्स में डालना ताकि उन्हें जल्दी क्वेरी किया जा सके।
  • कौन सी लाइब्रेरी यह क्षमता प्रदान करती है? GroupDocs.Search for Java।
  • क्या मुझे लाइसेंस चाहिए? एक अस्थायी ट्रायल लाइसेंस उपलब्ध है; प्रोडक्शन के लिए एक कमर्शियल लाइसेंस आवश्यक है।
  • क्या मैं क्षैतिज रूप से स्केल कर सकता हूँ? हाँ—कई SearchNetworkNode इंस्टेंस को डिप्लॉय करके।
  • कौन सा जावा संस्करण आवश्यक है? JDK 8 या उससे ऊपर।

इंडेक्स में दस्तावेज़ जोड़ना क्या है?

अपने स्रोत फ़ाइलें (PDF, DOCX, PPTX, आदि) को GroupDocs.Search इंजन में लोड करें, जो टेक्स्ट निकालता है, टर्म‑फ़्रीक्वेंसी टेबल बनाता है, और उन्हें एक इंडेक्स फ़ाइल में संग्रहीत करता है। परिणामी इंडेक्स सब‑सेकंड कीवर्ड क्वेरीज़ को सक्षम करता है, यहाँ तक कि सैकड़ों पृष्ठों वाले संग्रहों पर भी।

नेटवर्केड वातावरण में GroupDocs.Search for Java का उपयोग क्यों करें?

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

आवश्यकताएँ

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

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

To implement GroupDocs.Search for Java, include the following in your Maven project:

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

पर्यावरण सेटअप आवश्यकताएँ

  • आपके सिस्टम पर JDK 8 या उससे ऊपर स्थापित हो।
  • यदि Maven प्रोजेक्ट उपयोग कर रहे हैं तो Maven स्थापित और कॉन्फ़िगर हो।

ज्ञान पूर्वापेक्षाएँ

  • जावा प्रोग्रामिंग की बुनियादी समझ।
  • Maven में डिपेंडेंसी मैनेजमेंट की परिचितता।

GroupDocs.Search for Java सेटअप करना

  1. Maven सेटअप: ऊपर दिखाए गए अनुसार अपने pom.xml फ़ाइल में रिपॉज़िटरी और डिपेंडेंसी जोड़ें।
  2. डायरेक्ट डाउनलोड: वैकल्पिक रूप से, लाइब्रेरी को GroupDocs Search Java releases से डाउनलोड करें।

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

  • GroupDocs वेबसाइट पर जाकर एक मुफ्त ट्रायल या अस्थायी लाइसेंस प्राप्त करें।
  • पूर्ण एक्सेस और सपोर्ट के लिए, कमर्शियल लाइसेंस खरीदने पर विचार करें।

बुनियादी इनिशियलाइज़ेशन

Initialize GroupDocs.Search in your Java application:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Initialize an index
        Index index = new Index("path/to/index/directory");

        // Add documents to the index
        index.add("path/to/documents");
        
        System.out.println("GroupDocs.Search setup complete.");
    }
}

सर्च नेटवर्क में इंडेक्स में दस्तावेज़ कैसे जोड़ें?

नेटवर्क के किसी भी नोड के माध्यम से अपने दस्तावेज़ लोड करें; फ्रेमवर्क स्वचालित रूप से इंडेक्सिंग कार्यभार को वितरित करता है, लोड को संतुलित करता है, और रीयल‑टाइम में साझा इंडेक्स को अपडेट करता है। प्रत्येक नोड अपने असाइन किए गए फ़ाइलों को प्रोसेस करता है, टेक्स्ट निकालता है, और सेंट्रल इंडेक्स में क्रमिक बदलाव लिखता है, जिससे नया जोड़ा गया कंटेंट लगभग तुरंत सभी नोड्स पर सर्चेबल बन जाता है।

फीचर 1: सर्च नेटवर्क कॉन्फ़िगर करें

अवलोकन

सर्च नेटवर्क को कॉन्फ़िगर करना नोड्स को सेटअप करने में शामिल है ताकि वे सर्च टास्क को प्रभावी ढंग से मैनेज और वितरित कर सकें।

चरण 1: बेस पाथ और पोर्ट निर्धारित करें

SearchNetworkNode क्लास एक सिंगल नोड को दर्शाती है जो वितरित इंडेक्स में भाग लेता है।

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/SearchNetworkNodeEvents/";
int basePort = 49140; // Change if necessary due to busy port issues
चरण 2: नेटवर्क को कॉन्फ़िगर करें

NetworkConfiguration सामान्य सेटिंग्स (बेस पाथ, पोर्ट्स, रेप्लिकेशन फैक्टर) रखता है जिन्हें हर नोड स्टार्टअप पर पढ़ता है।

import com.groupdocs.search.scaling.*;
import com.groupdocs.search.scaling.configuring.*;

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);

फीचर 2: सर्च नेटवर्क नोड्स डिप्लॉय करें

अवलोकन

अपने नेटवर्क में सर्च ऑपरेशन्स को वितरित और हैंडल करने के लिए नोड्स को डिप्लॉय करें।

चरण 1: कॉन्फ़िगरेशन का उपयोग करके नोड्स डिप्लॉय करें

SearchNetworkNode इंस्टेंस समान कॉन्फ़िगरेशन फ़ाइल के साथ शुरू किए जाते हैं, जिससे वे परिभाषित बेस पोर्ट रेंज के माध्यम से एक-दूसरे को खोज सकते हैं।

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);

फीचर 3: नोड इवेंट्स की सदस्यता लें

अवलोकन

नोड इवेंट्स की सदस्यता लेने से आप सर्च नेटवर्क के भीतर विभिन्न कार्यों की निगरानी और प्रतिक्रिया दे सकते हैं।

चरण 1: सब्सक्रिप्शन मेथड निर्धारित करें

NodeEventListener एक इंटरफ़ेस है जिसे आप इम्प्लीमेंट करते हैं ताकि इंडेक्सिंग प्रोग्रेस, एरर, और नोड हेल्थ चेंजेज़ के लिए कॉलबैक प्राप्त कर सकें।

import com.groupdocs.search.events.*;
import com.groupdocs.search.scaling.events.*;

public static void subscribe(SearchNetworkNode node) {
    // Subscribe to IndexingCompleted event
    node.getEvents().IndexingCompleted.add(new EventHandler() {
        @Override
        public void invoke(Object s, EventArgs e) {
            System.out.println("Indexing completed.");
        }
    });

    // Additional events can be subscribed similarly...
}
चरण 2: सब्सक्रिप्शन मेथड का उपयोग करें

प्रत्येक नोड के साथ अपना लिस्नर रजिस्टर करें ताकि बड़े बैच ऑपरेशन्स के दौरान आपको रीयल‑टाइम फीडबैक मिले।

SearchNetworkNode masterNode = nodes[0];
subscribe(masterNode);

नोड्स को बंद करना

हमेशा नोड्स को ग्रेसफ़ुली शटडाउन करें ताकि पेंडिंग राइट्स फ़्लश हों और नेटवर्क सॉकेट्स रिलीज़ हो जाएँ।

for (SearchNetworkNode node : nodes) {
    node.close();
}

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

  1. एंटरप्राइज़ सर्च सॉल्यूशन्स – कई सर्वरों पर बड़े‑स्केल दस्तावेज़ सर्च को संभालने के लिए सर्च नेटवर्क लागू करें।
  2. ई‑कॉमर्स प्लेटफ़ॉर्म – कई नोड्स पर इंडेक्सिंग टास्क वितरित करके प्रोडक्ट सर्च क्षमताओं को बढ़ाएँ।
  3. कंटेंट मैनेजमेंट सिस्टम (CMS) – CMS वातावरण में कंटेंट रिट्रीवल और अपडेट्स के प्रदर्शन को सुधारें।

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

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

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

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

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

प्रश्न: नोड्स डिप्लॉय करते समय पोर्ट टकराव को कैसे संभालें?
उत्तर: अपने कॉन्फ़िगरेशन कोड में basePort वैरिएबल को उपलब्ध पोर्ट में बदलें।

प्रश्न: क्या GroupDocs.Search को रियल‑टाइम इंडेक्सिंग के लिए उपयोग किया जा सकता है?
उत्तर: हाँ, यह उपयुक्त कॉन्फ़िगरेशन के साथ रियल‑टाइम इंडेक्सिंग को सपोर्ट करता है।

प्रश्न: नोड डिप्लॉयमेंट के दौरान कुछ सामान्य समस्याएँ क्या हैं?
उत्तर: नेटवर्क कनेक्टिविटी और गलत पाथ सेटिंग्स अक्सर समस्याएँ होती हैं। सभी पाथ और पोर्ट सही ढंग से कॉन्फ़िगर किए हों, यह सुनिश्चित करें।

प्रश्न: क्या नेटवर्क चलने के बाद भी दस्तावेज़ों को इंडेक्स में जोड़ना संभव है?
उत्तर: बिल्कुल। आप किसी भी नोड पर index.add(...) कॉल कर सकते हैं, और नेटवर्क स्वचालित रूप से नया कार्यभार वितरित करेगा।

प्रश्न: विकास परीक्षण के लिए क्या मुझे लाइसेंस चाहिए?
उत्तर: परीक्षण के लिए एक अस्थायी ट्रायल लाइसेंस पर्याप्त है; प्रोडक्शन उपयोग के लिए कमर्शियल लाइसेंस आवश्यक है।

संसाधन

इस गाइड का पालन करके आप प्रभावी रूप से दस्तावेज़ों को इंडेक्स में जोड़ सकते हैं और GroupDocs.Search for Java का उपयोग करके एक मजबूत, स्केलेबल सर्च नेटवर्क बना सकते हैं। कोडिंग का आनंद लें!

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

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