जावा सर्च नेटवर्क में बेस पोर्ट ग्रुपडॉक्स कॉन्फ़िगर करें
त्वरित उत्तर
- प्राथमिक उद्देश्य क्या है? प्रत्येक सर्च नोड के लिए अद्वितीय पोर्ट और बेस डायरेक्टरी असाइन करने के लिए, टकराव को समाप्त करता है।
- क्या मुझे लाइसेंस की आवश्यकता है? हाँ – प्रोडक्शन डिप्लॉयमेंट्स के लिए ट्रायल या पूर्ण लाइसेंस आवश्यक है।
- कौन सा जावा संस्करण समर्थित है? Java 8 या उससे ऊपर (Java 11+ की सिफ़ारिश की जाती है)।
- क्या मैं इसे क्लाउड सर्वरों पर चला सकता हूँ? बिल्कुल – बस अपने क्लाउड सुरक्षा समूहों में चयनित पोर्ट खोलें।
- मैं कितने नोड्स जोड़ सकता हूँ? कोई कठोर सीमा नहीं; आप केवल हार्डवेयर और नेटवर्क क्षमता द्वारा सीमित हैं।
“configure base port groupdocs” क्या है?
Configure base port groupdocs वह प्रक्रिया है जिसमें प्रत्येक सर्च नोड द्वारा उपयोग किए जाने वाले प्रारंभिक TCP पोर्ट को असाइन किया जाता है और बाद के नोड्स के लिए इसे बढ़ाया जाता है। यह सरल कदम “पोर्ट पहले से उपयोग में है” जैसी त्रुटियों को समाप्त करता है और एक साफ़, क्षैतिज‑स्केलेबल सर्च क्लस्टर की नींव रखता है, जिससे प्रत्येक नोड एक विशिष्ट एंडपॉइंट पर संवाद करता है।
स्केलेबल नेटवर्क के लिए GroupDocs.Search का उपयोग क्यों करें?
GroupDocs.Search उच्च‑प्रदर्शन इंडेक्सिंग (मानक 8‑कोर सर्वर पर 50 GB/मिनट तक) प्रदान करता है और 50+ फ़ाइल फ़ॉर्मेट जैसे PDF, DOCX, PPTX, और HTML को समर्थन देता है। इसका मॉड्यूलर आर्किटेक्चर आपको नोड्स के बीच इंडेक्सर, सर्चर, शार्ड, और एक्सट्रैक्टर को मिश्रित करने की अनुमति देता है, जिससे हार्डवेयर जोड़ने पर रैखिक स्केलेबिलिटी मिलती है। लाइब्रेरी में अंतर्निहित संपीड़न विकल्प भी हैं जो डिस्क उपयोग को 70 % तक कम करते हैं जबकि सामान्य वर्कलोड के लिए क्वेरी लेटेंसी 200 ms से कम रखती हैं।
पूर्वापेक्षाएँ
- Java Development Kit (JDK) 8 या नया (बेहतर गार्बेज‑कलेक्शन के लिए Java 11+ की सिफ़ारिश)।
- IDE जैसे IntelliJ IDEA या Eclipse।
- GroupDocs.Search for Java लाइब्रेरी (संस्करण 25.4 या बाद का) Maven या मैन्युअल डाउनलोड के माध्यम से स्थापित।
- बुनियादी नेटवर्किंग ज्ञान (TCP पोर्ट, localhost बनाम रिमोट होस्ट)।
- एक वैध GroupDocs.Search लाइसेंस (ट्रायल या पूर्ण)।
GroupDocs.Search for Java सेटअप करना
इंस्टॉलेशन निर्देश
Maven Setup:
<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 रिलीज़।
लाइसेंस प्राप्ति
- Free Trial – तुरंत परीक्षण शुरू करें।
- Temporary License – विस्तारित ट्रायल प्राप्त करें अस्थायी लाइसेंस।
- Full Purchase – प्रोडक्शन डिप्लॉयमेंट्स के लिए आवश्यक।
बुनियादी इनिशियलाइज़ेशन और सेटअप
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.*;
public class SearchNetworkSetup {
public static void main(String[] args) {
// Initialize GroupDocs.Search components here
}
}
कार्यान्वयन गाइड
बेस पोर्ट ग्रुपडॉक्स कैसे कॉन्फ़िगर करें?
बेस पोर्ट कॉन्फ़िगर करने के लिए, नेटवर्क कॉन्फ़िगरेशन फ़ाइल को संपादित करें या प्रोग्रामेटिक रूप से basePort प्रॉपर्टी को उच्च, अप्रयुक्त मान (जैसे 49100) सेट करें। प्रत्येक अगले नोड के लिए पोर्ट नंबर को एक से बढ़ाएँ (या निश्चित ऑफ़सेट से) ताकि हर नोड अपने स्वयं के विशिष्ट TCP एंडपॉइंट से बंधे, पोर्ट‑कोलिज़न त्रुटियों को समाप्त करे और फ़ायरवॉल नियमों को सरल बनाता है।
बेस पाथ सेटअप
कोड लिखने से पहले, एक सुसंगत फ़ोल्डर लेआउट तय करें। उदाहरण के लिए, इंडेक्सर (Indexer0), सर्चर (Searcher0), और एक्सट्रैक्टर (Extractor0) के लिए अलग-अलग डायरेक्टरी बनाएं। यह संरचना प्रत्येक नोड को उसकी फ़ाइलें जल्दी से खोजने देती है।
- क्यों: एक पूर्वानुमेय डायरेक्टरी पदानुक्रम “फ़ाइल नहीं मिली” त्रुटियों को रोकता है जब नोड्स विभिन्न मशीनों पर शुरू होते हैं।
बेस पोर्ट कॉन्फ़िगर करना
सामान्य सेवाओं (HTTP 80, SSH 22, आदि) के साथ टकराव से बचने के लिए एक उच्च प्रारंभिक पोर्ट चुनें। प्रत्येक नए नोड के लिए पोर्ट नंबर को बढ़ाएँ।
// If an error occurs about using a busy network port, change the value of the base port
int basePort = 49100;
- क्यों: उच्च पोर्ट (जैसे 49100) से शुरू करने से मौजूदा सेवाओं के साथ टकराव की संभावना कम होती है और फ़ायरवॉल नियम बनाना सरल हो जाता है।
होस्ट एड्रेस परिभाषित करें
विकास के दौरान, localhost ठीक काम करता है। प्रोडक्शन के लिए इसे सर्वर के IP एड्रेस या DNS नाम से बदलें ताकि रिमोट नोड्स एक‑दूसरे तक पहुँच सकें।
// Define the host address
dataAddress = "127.0.0.1";
- क्यों: वास्तविक होस्ट एड्रेस का उपयोग क्रॉस‑मशीन संचार को सक्षम करता है, जो क्लाउड या ऑन‑प्रेमिस क्लस्टर्स के लिए आवश्यक है।
नेटवर्क कॉन्फ़िगरेशन बनाएं
NetworkConfig क्लास सभी नेटवर्किंग विकल्पों—बेस पोर्ट, होस्ट, और वैकल्पिक SSL सेटिंग्स—को एक ही ऑब्जेक्ट में बंडल करता है जिसे सर्च इंजन उपयोग करता है।
Configuration configuration = new Configurator()
.setIndexSettings() // Begin setting index configurations
.setUseStopWords(false) // Disable stop words in indexing
.setUseCharacterReplacements(false) // Disable character replacements
.setTextStorageSettings(true, Compression.High) // Enable high compression for text storage
.setIndexType(IndexType.NormalIndex) // Set index type to NormalIndex
.setSearchThreads(NumberOfThreads.Default) // Use default number of search threads
.completeIndexSettings() // Complete setting index configurations
- क्यों: इन विकल्पों को केंद्रीकृत करने से कॉन्फ़िगरेशन पुन: उपयोगी और कई नोड्स में रखरखाव आसान हो जाता है।
नोड्स जोड़ें
SearchNode GroupDocs.Search क्लस्टर में एक व्यक्तिगत नोड को दर्शाता है जो इंडेक्सिंग या सर्चिंग जैसे विशिष्ट कार्य करता है। प्रत्येक भूमिका (इंडेक्सर, सर्चर, एक्सट्रैक्टर) के लिए एक SearchNode इंस्टैंसिएट करें और उसे SearchEngine में रजिस्टर करें। नोड्स के बीच जिम्मेदारियों का वितरण समानांतरता और फॉल्ट टॉलरेंस को बढ़ाता है।
// Add the first node (indexer and searcher)
.addNode(0) // Start adding node 0
.setTcpEndpoint(dataAddress, basePort) // Set TCP endpoint for node 0
.addLogSink() // Add log sink to node 0
.addIndexer("YOUR_DOCUMENT_DIRECTORY/Indexer0") // Specify index path for node 0
.addSearcher("YOUR_DOCUMENT_DIRECTORY/Searcher0") // Specify searcher path for node 0
.completeNode() // Complete adding node 0
// Add the second node (shard and extractor)
.addNode(1) // Start adding node 1
.setTcpEndpoint(dataAddress, basePort + 1) // Set TCP endpoint for node 1
.addShard("YOUR_DOCUMENT_DIRECTORY/Shard1") // Specify shard path for node 1
.addExtractor("YOUR_DOCUMENT_DIRECTORY/Extractor1") // Specify extractor path for node 1
.completeNode() // Complete adding node 1
- क्यों: कार्य को समर्पित नोड्स में विभाजित करने से कंटेंशन कम होता है और प्रत्येक मशीन एक ही कार्य में विशेषज्ञता हासिल कर सकती है, जिससे कुल थ्रूपुट बढ़ता है।
कॉन्फ़िगरेशन अंतिम रूप दें
सभी नोड्स जोड़ने के बाद, engine.start() कॉल करके नेटवर्क को शुरू करें। इंजन स्वचालित रूप से प्रत्येक नोड को उसके असाइन किए गए पोर्ट से बाइंड करेगा और कनेक्टिविटी की जाँच करेगा।
.completeConfiguration(); // Finalize the configuration setup
return configuration; // Return the configured network settings
सामान्य समस्याएँ और समाधान
- Port Conflicts – प्रत्येक नए नोड के लिए हमेशा
basePortबढ़ाएँ। खुले पोर्ट कोnetstatया आपके OS के नेटवर्क मॉनिटर से सत्यापित करें। - Missing Directories – सुनिश्चित करें कि प्रत्येक फ़ोल्डर (
Indexer0,Searcher0, आदि) मौजूद है और Java प्रक्रिया के पास पढ़ने/लिखने की अनुमति है। - Network Reachability – मल्टी‑मशीन सेटअप पर जाने पर
127.0.0.1को वास्तविक होस्ट IP से बदलें और फ़ायरवॉल में चयनित पोर्ट खोलें।
व्यावहारिक अनुप्रयोग
| परिदृश्य | बेस पोर्ट ग्रुपडॉक्स कॉन्फ़िगर करने का लाभ |
|---|---|
| एंटरप्राइज़ दस्तावेज़ प्रबंधन | विभागों में बिना डाउनटाइम के सहज स्केलिंग |
| बड़े CMS प्लेटफ़ॉर्म | इंडेक्स वितरित होने के कारण तेज़ कंटेंट पुनर्प्राप्ति |
| लीगल केस मैनेजमेंट | PDF की समानांतर एक्सट्रैक्शन से सर्च लेटेंसी घटती है |
प्रदर्शन विचार
- Monitor CPU/Memory – थ्रेड उपयोग को देखने के लिए Java के JMX या प्रोफ़ाइलिंग टूल का उपयोग करें।
- Adjust Compression –
Compression.Highडिस्क स्पेस बचाता है लेकिन CPU ओवरहेड बढ़ा सकता है;HighऔरNormalदोनों का परीक्षण करके उचित सेटिंग खोजें। - Regular Updates – नए GroupDocs.Search रिलीज़ अक्सर प्रदर्शन पैच शामिल करते हैं; लाइब्रेरी को अद्यतन रखें।
निष्कर्ष
आपने अब configure base port groupdocs कैसे करें और GroupDocs.Search for Java का उपयोग करके मल्टी‑नोड सर्च नेटवर्क कैसे सेटअप करें, सीखा। अतिरिक्त नोड्स के साथ प्रयोग करें, इंडेक्स सेटिंग्स को फाइन‑ट्यून करें, और नेटवर्क को अपने मौजूदा एप्लिकेशनों में एकीकृत करें ताकि एक वास्तव में स्केलेबल सर्च समाधान प्राप्त हो सके।
अक्सर पूछे जाने वाले प्रश्न
Q: इंडेक्सिंग में स्टॉप वर्ड्स को डिसेबल करने का उद्देश्य क्या है?
A: स्टॉप वर्ड्स को डिसेबल करने से खोज की सटीकता बढ़ सकती है क्योंकि सामान्य शब्दों को बरकरार रखा जाता है जो विशेष डोमेनों में महत्वपूर्ण हो सकते हैं।
Q: कई नोड्स जोड़ते समय पोर्ट कॉन्फ्लिक्ट्स को कैसे संभालें?
A: उच्च basePort (जैसे 49100) से शुरू करें और प्रत्येक अगले नोड के लिए इसे बढ़ाएँ, यह सुनिश्चित करते हुए कि हर नोड का एक अद्वितीय TCP एंडपॉइंट हो।
Q: क्या मैं इस सेटअप को क्लाउड‑आधारित एप्लिकेशनों के लिए उपयोग कर सकता हूँ?
A: हाँ—सिर्फ यह सुनिश्चित करें कि चयनित पोर्ट आपके क्लाउड सुरक्षा समूहों में खुले हों और 127.0.0.1 को उपयुक्त सार्वजनिक या निजी IP से बदलें।
Q: NormalIndex और अन्य इंडेक्स प्रकारों में क्या अंतर है?
A: NormalIndex गति और मेमोरी उपयोग के बीच संतुलित ट्रेड‑ऑफ़ प्रदान करता है, जबकि विशेषीकृत इंडेक्स (जैसे FastIndex) विशिष्ट प्रदर्शन परिदृश्यों को लक्षित करते हैं।
Q: मैं कितने नोड्स जोड़ सकता हूँ?
A: तकनीकी रूप से कोई सीमा नहीं; सीमा आपके हार्डवेयर संसाधनों और नेटवर्क बैंडविड्थ द्वारा निर्धारित होती है।
अंतिम अपडेट: 2026-05-17
परीक्षित संस्करण: GroupDocs.Search Java 25.4
लेखक: GroupDocs
// Define the base paths using placeholders
dataPath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/ConfiguringSearchNetwork/";