खोज परिणामों का कुशल प्रबंधन एक शक्तिशाली दस्तावेज़ पुनर्प्राप्ति प्रणाली के लिए मौलिक है, और इन परिणामों की व्याख्या और उपयोग करने का तरीका जानना डेटा-संचालित निर्णयों को बहुत बेहतर बना सकता है। इस गाइड में, हम जावा का उपयोग करके खोज परिणामों के साथ काम करने के तरीके पर गहराई से चर्चा करते हैं। इंडेक्स रिपोजिटरी स्थापित करने से लेकर फ़ज़ी सर्च पैरामीटर सेट करने तक, यह ट्यूटोरियल खोज क्वेरी और उनके संबंधित परिणामों को संभालने के लिए एक सरल, व्यावहारिक तरीका प्रदान करता है। चाहे आप सरल शब्द मिलान या अधिक जटिल वाक्यांशों का विश्लेषण कर रहे हों, यह दृष्टिकोण आपको परिणामों को पूरी तरह से संसाधित करने और मूल्यवान पैटर्न की पहचान करने में सक्षम बनाता है। अंत तक, आप जावा में खोज परिणामों को पुनर्प्राप्त करने और उन्हें विभिन्न उपयोग मामलों में लागू करने में कुशल हो जाएँगे।
जावा का उपयोग करके खोज परिणामों के साथ काम करने के चरण
- खोज परिणामों के साथ काम करने के लिए अपने प्रोजेक्ट में GroupDocs.Search for Java लाइब्रेरी जोड़ें
- Index क्लास का उपयोग करके एक इंडेक्स ऑब्जेक्ट बनाएं और इंडेक्स को संग्रहीत करने के लिए फ़ोल्डर स्थान निर्दिष्ट करें
- निर्दिष्ट फ़ोल्डर से दस्तावेज़ों को अनुक्रमित करने के लिए Index.add विधि का उपयोग करें
- एक SearchOptions इंस्टेंस बनाएं और FuzzySearch.setEnabled(true) को कॉल करके फ़ज़ी खोज सक्षम करें
- setFuzzyAlgorithm विधि से अधिकतम स्वीकृत अंतर (जैसे, 3) सेट करें
- कॉन्फ़िगर किए गए SearchOptions के साथ निर्दिष्ट शब्दों या वाक्यांशों वाले दस्तावेज़ों को खोजने के लिए Index.search विधि को कॉल करें
- getDocumentCount विधि का उपयोग करके पाए गए दस्तावेज़ों की संख्या और getOccurrenceCount विधि का उपयोग करके खोज शब्दों की कुल घटनाओं को प्रदर्शित करें
- getFoundDocument विधि का उपयोग करके खोज परिणामों के माध्यम से पुनरावृति करें, और प्रत्येक दस्तावेज़ के लिए, उसका फ़ाइल पथ और घटना गणना दिखाएं
- प्रत्येक दस्तावेज़ के लिए, FoundDocumentField संग्रह के माध्यम से लूप करें और फ़ील्ड नाम, घटना गणना, पाए गए शब्द और वाक्यांश जैसे विवरण प्रदर्शित करें
खोज परिणामों को प्रभावी ढंग से संभालने के लिए, पहला कदम आपके दस्तावेज़ों के लिए एक इंडेक्स रिपोजिटरी स्थापित करना है। दिए गए कोड स्निपेट के साथ, एक निर्दिष्ट फ़ोल्डर में एक इंडेक्स बनाया जाता है, और दूसरे फ़ोल्डर से दस्तावेज़ इस इंडेक्स में जोड़े जाते हैं। इसके बाद, फ़ज़ी खोज को सक्रिय करने के लिए खोज विकल्पों को कॉन्फ़िगर किया जाता है, जिससे अंतर के लिए परिभाषित सीमा के साथ लचीला मिलान सक्षम होता है। यह कॉन्फ़िगरेशन परिष्कृत एल्गोरिदम का उपयोग करके आइंस्टीन जैसे शब्दों या सापेक्षता का सिद्धांत जैसे वाक्यांशों की खोज का समर्थन करता है। खोज को निष्पादित करने के बाद, परिणाम SearchResult ऑब्जेक्ट के माध्यम से पुनर्प्राप्त किए जाते हैं। क्वेरी से मेल खाने वाले दस्तावेज़ों की संख्या और उनकी घटनाओं की संख्या दिखाई जाती है। प्रत्येक दस्तावेज़ के लिए विस्तृत डेटा निकाला जाता है, जिसमें फ़ाइल पथ और शब्द घटनाएँ शामिल हैं। प्रत्येक दस्तावेज़ में पाए गए फ़ील्ड के माध्यम से पुनरावृत्ति करके, आप मिलान वाले विशिष्ट फ़ील्ड को इंगित कर सकते हैं और उनकी आवृत्तियों के साथ शब्दों और वाक्यांशों का विश्लेषण कर सकते हैं। नीचे दिया गया कोड दिखाता है कि Java के साथ इंडेक्स खोज परिणामों तक कैसे पहुँचें, पुनर्प्राप्त जानकारी का एक व्यवस्थित दृश्य प्रदान करता है।
जावा का उपयोग करके खोज परिणामों के साथ काम करने के लिए कोड
import com.groupdocs.search.Index; | |
import com.groupdocs.search.licenses.License; | |
import com.groupdocs.search.options.SearchOptions; | |
import com.groupdocs.search.options.TableDiscreteFunction; | |
import com.groupdocs.search.results.FoundDocument; | |
import com.groupdocs.search.results.FoundDocumentField; | |
import com.groupdocs.search.results.SearchResult; | |
public class WorkwithSearchResultsUsingJava { | |
public static void main(String[] args) throws Exception { | |
// Apply the license to remove the restrictions | |
// imposed by the Search library | |
License license = new License(); | |
license.setLicense("GroupDocs.Search.lic"); | |
// The path where the index will be stored | |
String indexFolder = "c:\\MyIndex\\"; | |
// The folder containing the documents you want to search | |
String documentsFolder = "c:\\MyDocuments\\"; | |
// Creating an index in the specified folder | |
Index index = new Index(indexFolder); | |
// Indexing documents from the specified folder | |
index.add(documentsFolder); | |
// Creating search options | |
SearchOptions options = new SearchOptions(); | |
options.getFuzzySearch().setEnabled(true); // Enabling the fuzzy search | |
options.getFuzzySearch().setFuzzyAlgorithm(new TableDiscreteFunction(3)); // Setting the maximum number of differences to 3 | |
// Search for documents containing the word 'Einstein' or the phrase 'Theory of Relativity' | |
SearchResult result = index.search("Einstein OR \"Theory of Relativity\"", options); | |
// Printing the result | |
System.out.println("Documents: " + result.getDocumentCount()); | |
System.out.println("Total occurrences: " + result.getOccurrenceCount()); | |
for (int i = 0; i < result.getDocumentCount(); i++) { | |
FoundDocument document = result.getFoundDocument(i); | |
System.out.println("\tDocument: " + document.getDocumentInfo().getFilePath()); | |
System.out.println("\tOccurrences: " + document.getOccurrenceCount()); | |
for (FoundDocumentField field : document.getFoundFields()) { | |
System.out.println("\t\tField: " + field.getFieldName()); | |
System.out.println("\t\tOccurrences: " + document.getOccurrenceCount()); | |
// Printing found terms | |
if (field.getTerms() != null) { | |
for (int k = 0; k < field.getTerms().length; k++) { | |
System.out.println("\t\t\t" + field.getTerms()[k] + " - " + field.getTermsOccurrences()[k]); | |
} | |
} | |
// Printing found phrases | |
if (field.getTermSequences() != null) { | |
for (int k = 0; k < field.getTermSequences().length; k++) { | |
String[] terms = field.getTermSequences()[k]; | |
String sequence = ""; | |
for (String term : terms) { | |
sequence += term + " "; | |
} | |
System.out.println("\t\t\t" + sequence + " - " + field.getTermSequencesOccurrences()[k]); | |
} | |
} | |
} | |
} | |
} | |
} |
अनुक्रमित डेटा से पूरी क्षमता निकालने के लिए खोज परिणामों का उचित प्रबंधन और विश्लेषण करना आवश्यक है। यह प्रक्रिया केवल दस्तावेज़ों को पुनः प्राप्त करने से आगे तक फैली हुई है; इसमें शब्द घटनाओं का विश्लेषण करना, विशिष्ट क्षेत्रों में मिलान की पहचान करना और वाक्यांश पैटर्न की जांच करना शामिल है। यहाँ बताई गई विधि आपको गहन और संगठित तरीके से परिणामों की जांच करने में सक्षम बनाती है, जिससे डेटा की गहरी जानकारी मिलती है। इसके अतिरिक्त, लाइब्रेरी की क्रॉस-प्लेटफ़ॉर्म संगतता विभिन्न प्रणालियों और वातावरणों में सुचारू एकीकरण की गारंटी देती है, जिससे खोज-संबंधी कार्यों के लिए इसकी लचीलापन बढ़ जाती है। इस तकनीक में महारत हासिल करके, आप कुशलतापूर्वक जावा में खोज परिणामों को संभालने में सक्षम होंगे और उन्हें डेटा विश्लेषण से लेकर वास्तविक समय दस्तावेज़ पुनर्प्राप्ति तक कई तरह के उपयोग के मामलों में लागू कर पाएंगे।
इससे पहले, हमने जावा का उपयोग करके खोज रिपोर्ट बनाने पर एक गहन मार्गदर्शिका प्रदान की थी। पूरी चरण-दर-चरण प्रक्रिया का पालन करने के लिए, जावा का उपयोग करके खोज रिपोर्ट बनाएं पर हमारा विस्तृत लेख अवश्य पढ़ें।