GroupDocs.Search का उपयोग करके जावा में हाइलाइट सर्च परिणाम
यदि आप अनगिनत दस्तावेज़ों को मैन्युअल रूप से छाँटने से थक चुके हैं, तो highlight search results java एक तेज़, भरोसेमंद तरीका प्रदान करता है जिससे आपको बिल्कुल वही मिल सके जिसकी आपको ज़रूरत है। इस ट्यूटोरियल में हम वितरित सर्च नेटवर्क को कॉन्फ़िगर करने, फ़ाइलों को इंडेक्स करने, क्वेरी चलाने और अंत में दस्तावेज़ों के भीतर सीधे मिलानों को हाइलाइट करने की प्रक्रिया को चरण‑बद्ध रूप से देखेंगे। अंत तक, आपके पास एक प्रोडक्शन‑रेडी समाधान होगा जो कई नोड्स में स्केल कर सकता है और प्रासंगिक शब्दों को तुरंत उजागर कर देगा।
त्वरित उत्तर
- “highlight search results java” का क्या अर्थ है? यह जावा लाइब्रेरी जैसे GroupDocs.Search का उपयोग करते हुए दस्तावेज़ों के भीतर पाए गए कीवर्ड को प्रोग्रामेटिक रूप से मार्क करने को दर्शाता है।
- क्या मैं एक ही दस्तावेज़ में कई शब्दों को हाइलाइट कर सकता हूँ? हाँ –
HighlightOptionsका उपयोग करके प्रत्येक मिलान से पहले/बाद कितने शब्द दिखाने हैं, निर्धारित करें। - क्या इस उदाहरण को चलाने के लिए लाइसेंस चाहिए? परीक्षण के लिए फ्री ट्रायल या टेम्पररी लाइसेंस काम करता है; प्रोडक्शन के लिए पूर्ण लाइसेंस आवश्यक है।
- कौन सा जावा संस्करण आवश्यक है? Java 8 या बाद का।
- क्या यह तरीका बड़े दस्तावेज़ संग्रह के लिए उपयुक्त है? बिल्कुल – सर्च नेटवर्क इंडेक्सिंग और क्वेरी लोड को नोड्स में वितरित करता है।
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.");
}
}
इम्प्लीमेंटेशन गाइड
Distributed Network में 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 को फाइन‑ट्यून करें।
निष्कर्ष
इस गाइड का पालन करके आप highlight search results java को GroupDocs.Search के साथ एक पूर्ण, प्रोडक्शन‑रेडी सेटअप में लागू कर चुके हैं। आप समाधान को नेटवर्क में स्केल कर सकते हैं, किसी भी सपोर्टेड दस्तावेज़ प्रकार को इंडेक्स कर सकते हैं, तेज़ क्वेरी चला सकते हैं, और हाइलाइटेड स्निपेट्स वापस कर सकते हैं जो उपयोगकर्ताओं को ठीक वही खोजने में मदद करते हैं जिसकी उन्हें ज़रूरत है। अगले कदमों की खोज करें—परिणामों को वेब UI में इंटीग्रेट करना, फेसेटेड सर्च जोड़ना, या स्कैन किए गए PDF के लिए OCR के साथ संयोजन करना।
अंतिम अपडेट: 2026-01-08
टेस्टेड विद: GroupDocs.Search for Java 25.4
लेखक: GroupDocs