हाइलाइट सर्च परिणाम जावा का उपयोग करके GroupDocs.Search
यदि आप अनगिनत दस्तावेज़ों को मैन्युअल रूप से छाँटने से थक गए हैं, तो highlight search results java तेज़, भरोसेमंद तरीका प्रदान करता है जिससे आपको बिल्कुल वही मिल सके जिसकी आपको ज़रूरत है। इस ट्यूटोरियल में हम एक वितरित सर्च नेटवर्क को कॉन्फ़िगर करने, फ़ाइलों को इंडेक्स करने, क्वेरी चलाने और अंत में दस्तावेज़ों के भीतर सीधे मैच को हाइलाइट करने की प्रक्रिया को चरण‑दर‑चरण देखेंगे। अंत तक, आपके पास एक प्रोडक्शन‑रेडी समाधान होगा जो कई नोड्स में स्केल कर सकता है और प्रासंगिक शब्दों को तुरंत उजागर कर देगा।
त्वरित उत्तर
- “highlight search results java” का क्या मतलब है? यह जावा लाइब्रेरी जैसे GroupDocs.Search का उपयोग करते समय दस्तावेज़ों के भीतर पाए गए कीवर्ड को प्रोग्रामेटिक रूप से मार्क करने को दर्शाता है।
- क्या मैं एक ही दस्तावेज़ में कई शब्दों को हाइलाइट कर सकता हूँ? हाँ –
HighlightOptionsका उपयोग करके प्रत्येक मैच से पहले/बाद दिखाए जाने वाले शब्दों की संख्या निर्धारित कर सकते हैं। - क्या इस उदाहरण को चलाने के लिए लाइसेंस चाहिए? परीक्षण के लिए फ्री ट्रायल या टेम्पररी लाइसेंस काम करता है; प्रोडक्शन के लिए पूर्ण लाइसेंस आवश्यक है।
- कौन सा जावा संस्करण आवश्यक है? जावा 8 या उसके बाद का संस्करण।
- क्या यह तरीका बड़े दस्तावेज़ संग्रह के लिए उपयुक्त है? बिल्कुल – सर्च नेटवर्क इंडेक्सिंग और क्वेरी लोड को नोड्स में वितरित करता है।
Highlight Search Results Java क्या है?
Highlight search results java वह प्रक्रिया है जिसमें एक सर्च क्वेरी ली जाती है, आपके दस्तावेज़ों में मिलते‑जुलते फ्रैगमेंट खोजे जाते हैं, और उन फ्रैगमेंट को दृश्य रूप से उजागर किया जाता है (जैसे उन्हें मार्कर से घेरना या हाइलाइटेड स्निपेट के रूप में लौटाना)। इससे अंतिम‑उपयोगकर्ता को प्रत्येक मैच का संदर्भ पूरी फ़ाइल खोले बिना आसानी से दिखता है।
क्यों Highlight Search Results Java महत्वपूर्ण है
highlight search results java का उपयोग करने से उपयोगकर्ता अनुभव बेहतर होता है क्योंकि यह ठीक‑ठीक दिखाता है कि शब्द कहाँ आया है, अप्रासंगिक फ़ाइलें खोलने में लगने वाला समय घटता है, और अनुपालन टीमों को संवेदनशील जानकारी जल्दी मिलती है। जब इसे वितरित सर्च नेटवर्क के साथ जोड़ा जाता है, तो दस्तावेज़ कॉर्पस लाखों में बढ़ने पर भी समाधान तेज़ बना रहता है।
GroupDocs.Search को हाइलाइटिंग के लिए क्यों चुनें?
GroupDocs.Search एक तैयार‑मेड, हाई‑परफ़ॉर्मेंस इंजन प्रदान करता है जो दर्जनों फ़ाइल फ़ॉर्मेट, वितरित इंडेक्सिंग और बिल्ट‑इन फ्रैगमेंट हाइलाइटर्स को सपोर्ट करता है। यह कस्टम पार्सर लिखने या लो‑लेवल सर्च इन्फ्रास्ट्रक्चर मैनेज करने की ज़रूरत को समाप्त करता है, जिससे आप सुगम उपयोगकर्ता अनुभव देने पर ध्यान केंद्रित कर सकते हैं।
पूर्वापेक्षाएँ
- Java Development Kit (JDK) 8+ – सुनिश्चित करें कि
java -version1.8 या उससे ऊपर दिखा रहा है। - Maven – डिपेंडेंसी मैनेजमेंट के लिए।
- GroupDocs.Search for Java 25.4 – इस गाइड में उपयोग किया गया संस्करण।
- IntelliJ IDEA या Eclipse जैसे IDE (वैकल्पिक लेकिन अनुशंसित)।
- जावा और नेटवर्किंग अवधारणाओं का बुनियादी ज्ञान।
GroupDocs.Search for Java सेटअप करना
आप लाइब्रेरी को Maven के ज़रिए या सीधे JAR डाउनलोड करके अपने प्रोजेक्ट में जोड़ सकते हैं।
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>
सीधे डाउनलोड
वैकल्पिक रूप से, नवीनतम JAR को GroupDocs.Search for Java releases से डाउनलोड करें।
लाइसेंस प्राप्त करने के चरण
- फ्री ट्रायल: कोर फीचर का पता लगाने के लिए ट्रायल से शुरू करें।
- टेम्पररी लाइसेंस: इस पृष्ठ से विस्तारित टेस्ट लाइसेंस प्राप्त करें।
- खरीद: प्रोडक्शन डिप्लॉयमेंट के लिए पूर्ण लाइसेंस प्राप्त करें।
बेसिक इनिशियलाइज़ेशन और सेटअप
एक Index इंस्टेंस बनाएं जो उस फ़ोल्डर की ओर इशारा करता है जहाँ सर्च इंडेक्स संग्रहीत होगा:
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Create an instance of Index
Index index = new Index("path/to/index/directory");
System.out.println("GroupDocs.Search initialized successfully.");
}
}
इम्प्लीमेंटेशन गाइड
वितरित नेटवर्क में Highlight Search Results Java कैसे करें
सर्च नेटवर्क कॉन्फ़िगर करना
पहले यह निर्धारित करें कि आपके दस्तावेज़ कहाँ स्थित हैं और नेटवर्क किस पोर्ट का उपयोग करेगा।
import com.groupdocs.search.common.*;
import com.groupdocs.search.scaling.configuring.*;
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/HighlightingResultsInNetwork/";
int basePort = 49116; // Change if port is busy
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
basePath– वह रूट फ़ोल्डर जिसमें आप इंडेक्स करना चाहते हैं।basePort– नोड कम्युनिकेशन के लिए TCP पोर्ट; एक अनयूज़्ड पोर्ट चुनें।
सर्च नेटवर्क नोड्स डिप्लॉय करना
कॉन्फ़िगरेशन के आधार पर एक या अधिक नोड्स डिप्लॉय करें। पहला नोड मास्टर बन जाता है।
import com.groupdocs.search.scaling.*;
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
nodes– सभी चल रहे नोड्स की एरे।masterNode– इंडेक्सिंग और क्वेरी वितरण का समन्वय करता है।
सर्च नेटवर्क नोड इवेंट्स की सब्सक्रिप्शन
मास्टर नोड पर लिस्नर अटैच करें ताकि रियल‑टाइम नोटिफिकेशन (जैसे इंडेक्सिंग पूरा होने पर) मिल सके।
import com.groupdocs.search.scaling.events.*;
SearchNetworkNodeEvents.subscribe(masterNode);
नेटवर्क नोड में डायरेक्टरीज़ को इंडेक्स करना
नोड को उन फ़ोल्डर(s) की ओर इशारा करें जिन्हें आप इंडेक्स करना चाहते हैं। हेल्पर क्लास Utils.DocumentsPath सैंपल डेटा फ़ोल्डर को रेज़ॉल्व करता है।
import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.options.*;
IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);
नेटवर्क नोड्स में टेक्स्ट सर्च करना
सभी नोड्स पर क्वेरी चलाएँ और मिलते‑जुलते दस्तावेज़ प्राप्त करें।
import java.util.ArrayList;
import com.groupdocs.search.scaling.results.*;
ArrayList<NetworkFoundDocument> documents = TextSearchInNetwork.searchAll(masterNode, "ipsum", false);
highlightInDocument(masterNode, documents.get(0), 3); // Highlight results from the first found document.
"ipsum"को किसी भी शब्द से बदलें जिसे आप खोजना चाहते हैं।- अगला दिखाया गया
highlightInDocumentमेथड हाइलाइट लागू करेगा।
कई शब्दों को हाइलाइट करना – Highlighting Search Results
निम्न मेथड दिखाता है कि प्रत्येक मैच के आसपास के फ्रैगमेंट को कैसे हाइलाइट किया जाए। यह highlight multiple terms document कीवर्ड को भी संतुष्ट करता है।
import com.groupdocs.search.highlighters.*;
import com.groupdocs.search.options.*;
public static void highlightInDocument(
SearchNetworkNode node,
NetworkFoundDocument document,
int maxFragments) {
Searcher searcher = node.getSearcher();
FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.PlainText);
HighlightOptions options = new HighlightOptions();
options.setTermsAfter(5);
options.setTermsBefore(5);
options.setTermsTotal(15);
searcher.highlight(document, highlighter, options); // Perform highlighting on the document.
FragmentContainer[] result = highlighter.getResult();
for (FragmentContainer container : result) {
if (container.getCount() == 0) continue;
String[] fragments = container.getFragments();
int count = Math.min(fragments.length, maxFragments);
for (int j = 0; j < count; j++) {
// Print each fragment within the specified limit.
}
}
}
OutputFormat.PlainText– प्लेन‑टेक्स्ट स्निपेट लौटाता है; अधिक रिच UI के लिए HTML पर स्विच कर सकते हैं।HighlightOptions– प्रत्येक मैच से पहले/बाद कितने शब्द शामिल करने हैं (setTermsBefore,setTermsAfter) को नियंत्रित करता है।maxFragments– प्रति दस्तावेज़ दिखाए जाने वाले स्निपेट की अधिकतम संख्या निर्धारित करता है।
नेटवर्क नोड्स को बंद करना
काम समाप्त होने पर सभी नोड्स को शटडाउन करके रिसोर्सेज़ मुक्त करें।
for (SearchNetworkNode node : nodes) {
node.close();
}
व्यावहारिक अनुप्रयोग
- एंटरप्राइज़ डॉक्यूमेंट मैनेजमेंट: कॉरपोरेट फ़ाइलों को केंद्रीकृत करें और कर्मचारियों को तुरंत प्रासंगिक कॉन्ट्रैक्ट या पॉलिसी खोजने दें।
- लीगल केस फ़ाइलें: प्रमुख कानूनी शब्दों को हाइलाइट करके प्रीसिडेंट दस्तावेज़ जल्दी दिखाएँ।
- R&D नॉलेज बेस: शोधकर्ता पेटेंट या तकनीकी पेपर खोज सकते हैं और हाइलाइटेड अंश देख सकते हैं।
- ई‑कॉमर्स कैटलॉग: शॉपर्स को कीवर्ड द्वारा प्रोडक्ट खोजने और विवरण में हाइलाइटेड मैच देखने की सुविधा दें।
- लाइब्रेरी सिस्टम: पाठकों को हजारों पुस्तकों में खोजने और प्रत्येक फ़ाइल खोले बिना हाइलाइटेड पासेज़ देखने की अनुमति दें।
प्रदर्शन संबंधी विचार
- इंडेक्स को ताज़ा रखें: बदलती फ़ाइलों को रात‑भर री‑इंडेक्स करें या इन्क्रीमेंटल अपडेट उपयोग करें।
- कई नोड्स का उपयोग करें: इंडेक्सिंग और क्वेरी लोड को वितरित करके बॉटलनेक से बचें।
HighlightOptionsट्यून करें: बहुत बड़े दस्तावेज़ों के लिएtermsBefore/Afterको कम करने से मेमोरी उपयोग घटता है।
सामान्य समस्याएँ और ट्रबलशूटिंग
| लक्षण | संभावित कारण | समाधान |
|---|---|---|
| कोई परिणाम नहीं मिला | इंडेक्स नहीं बना या गलत फ़ोल्डर की ओर इशारा | Utils.DocumentsPath की जाँच करें और IndexingDocuments.addDirectories फिर से चलाएँ |
| हाइलाइट आउटपुट खाली है | HighlightOptions की सीमा बहुत कम या दस्तावेज़ एन्कोडिंग समस्या | termsTotal बढ़ाएँ या सुनिश्चित करें कि दस्तावेज़ का एन्कोडिंग सपोर्टेड है |
| पोर्ट कॉन्फ्लिक्ट एरर | basePort पहले से उपयोग में है | अलग पोर्ट नंबर चुनें (उदा., 49117) |
| लाइसेंस एक्सेप्शन | लाइसेंस फ़ाइल गायब या समाप्त | एप्लिकेशन रूट में वैध GroupDocs.Search.lic फ़ाइल रखें |
अक्सर पूछे जाने वाले प्रश्न
प्रश्न: क्या मैं लोड बैलेंसिंग के लिए कई सर्च नेटवर्क नोड्स डिप्लॉय कर सकता हूँ?
उत्तर: हाँ, कई नोड्स को डिप्लॉय करने से इंडेक्सिंग और क्वेरी कार्य वितरित होते हैं, जिससे स्केलेबिलिटी और रिस्पॉन्स टाइम बेहतर होता है।
प्रश्न: एक ही दस्तावेज़ में कई सर्च टर्म्स को कैसे हाइलाइट करूँ?
उत्तर: highlight मेथड को टर्म्स की लिस्ट पास करें और प्रत्येक मैच के आसपास शब्द दिखाने के लिए HighlightOptions कॉन्फ़िगर करें।
प्रश्न: क्या रियल‑टाइम सर्च इवेंट्स की सब्सक्रिप्शन संभव है?
उत्तर: बिल्कुल। SearchNetworkNodeEvents.subscribe(masterNode) का उपयोग करके इंडेक्सिंग प्रोग्रेस, क्वेरी एक्ज़ीक्यूशन और एरर्स के लिए कॉलबैक प्राप्त कर सकते हैं।
प्रश्न: GroupDocs.Search किन फ़ाइल फ़ॉर्मेट्स को इंडेक्सिंग और हाइलाइटिंग के लिए सपोर्ट करता है?
उत्तर: 50 से अधिक फ़ॉर्मेट, जैसे DOCX, PDF, HTML, TXT, PPTX आदि।
प्रश्न: बहुत बड़े कलेक्शन पर सर्च स्पीड कैसे बढ़ाएँ?
उत्तर: नियमित रूप से इंडेक्स अपडेट करें, उन्हें नोड्स में वितरित करें, और फ्रैगमेंट साइज को सीमित करने के लिए HighlightOptions को फाइन‑ट्यून करें।
अंतिम अपडेट: 2026-03-17
टेस्टेड विथ: GroupDocs.Search for Java 25.4
लेखक: GroupDocs