जावा को इंडेक्स कैसे करें – GroupDocs के साथ तेज़ दस्तावेज़ खोज

यदि आप how to index java फ़ाइलों को कुशलतापूर्वक इंडेक्स करने के बारे में सोच रहे हैं, तो आप सही जगह पर हैं। आज की डेटा‑चालित दुनिया में, सही दस्तावेज़ को जल्दी ढूँढ़ना मैन्युअल काम में घंटों की बचत कर सकता है। GroupDocs.Search for Java आपको फ़ाइलों के फ़ोल्डर को एक खोज योग्य इंडेक्स में बदलने का सरल तरीका प्रदान करता है, जिससे आप दस्तावेज़ों को इंडेक्स में जोड़ सकते हैं, इंडेक्स से दस्तावेज़ हटाए जा सकते हैं, और फ़ाइल सिस्टम से दस्तावेज़ कुछ ही कोड लाइनों में लोड कर सकते हैं।

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

Quick Answers

  • मुख्य उद्देश्य क्या है? जावा दस्तावेज़ों को कुशलतापूर्वक इंडेक्स और खोजें।
  • कौन‑सी लाइब्रेरी आवश्यक है? GroupDocs.Search for Java (v25.4+).
  • क्या मुझे लाइसेंस चाहिए? एक मुफ्त ट्रायल या अस्थायी लाइसेंस उपलब्ध है; उत्पादन के लिए स्थायी लाइसेंस आवश्यक है।
  • क्या मैं इंडेक्स से दस्तावेज़ हटा सकता हूँ? हाँ, delete मेथड का उपयोग करके दस्तावेज़ कुंजियों के साथ।
  • क्या Apache Commons IO अनिवार्य है? फ़ाइल हैंडलिंग उपयोगिताओं के लिए यह अनुशंसित है।

“how to index java” क्या है?

जावा दस्तावेज़ों को इंडेक्स करना का अर्थ है एक खोज योग्य डेटा संरचना (इंडेक्स) बनाना जो दस्तावेज़ सामग्री को खोज योग्य शब्दों से मैप करती है, जिससे कीवर्ड क्वेरी के आधार पर प्रासंगिक फ़ाइलों को तेज़ी से प्राप्त किया जा सके।

Why use GroupDocs.Search for Java?

  • Speed: अनुकूलित एल्गोरिदम बड़े संग्रहों पर भी तेज़ क्वेरी परिणाम प्रदान करते हैं।
  • Scalability: प्रदर्शन से समझौता किए बिना हजारों दस्तावेज़ संभालता है।
  • Flexibility: कई फ़ाइल फ़ॉर्मेट का समर्थन करता है और बड़े फ़ाइलों के लिए लेज़ी लोडिंग प्रदान करता है।
  • Ease of integration: सरल Maven सेटअप और साफ़, सहज API।

Prerequisites

शुरू करने से पहले सुनिश्चित करें कि आपके पास हैं:

  • GroupDocs.Search for Java (संस्करण 25.4 या नया)।
  • Apache Commons IO सुविधाजनक फ़ाइल उपयोगिताओं के लिए।
  • JDK 8 या उससे ऊपर और IntelliJ IDEA या Eclipse जैसे IDE।
  • बुनियादी जावा ज्ञान और वैकल्पिक रूप से Maven की परिचितता।

Setting Up GroupDocs.Search for Java

Maven configuration

अपने 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>

Pro tip: नवीनतम रिलीज़ के साथ संस्करण संख्या को सिंक रखें ताकि प्रदर्शन सुधारों का लाभ मिल सके।

Direct download (if you prefer not to use Maven)

आप आधिकारिक साइट से नवीनतम JAR भी डाउनलोड कर सकते हैं: GroupDocs.Search for Java releases

License acquisition

  • Free trial: लाइसेंस कुंजी के बिना लाइब्रेरी का परीक्षण करें।
  • Temporary license: विस्तारित मूल्यांकन के लिए एक अनुरोध करें।
  • Full license: उत्पादन परिनियोजन के लिए आवश्यक।

Basic initialization

लाइब्रेरी सही ढंग से लोड होती है यह सत्यापित करने के लिए एक सरल जावा क्लास बनाएँ:

import com.groupdocs.search.*;

public class DocumentIndexing {
    public static void main(String[] args) {
        Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments");
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

इस प्रोग्राम को चलाने पर पुष्टि संदेश प्रिंट होना चाहिए, जो दर्शाता है कि इंडेक्स फ़ोल्डर तैयार है।

How to add documents to index

Step 1: Create an index folder

Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true);
  • पहला आर्ग्यूमेंट वह फ़ोल्डर है जहाँ इंडेक्स फ़ाइलें संग्रहीत होंगी।
  • दूसरा आर्ग्यूमेंट (true) GroupDocs को बताता है कि यदि फ़ोल्डर मौजूद नहीं है तो उसे बनाएँ और मौजूदा इंडेक्स को स्वचालित रूप से अपडेट करें।

Step 2: Load a document from a stream and add it

String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx";
DocumentLoader documentLoader = new DocumentLoader(filePath);
Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader);
Document[] documents = new Document[]{document};
index.add(documents, new IndexingOptions());
  • DocumentLoader (बाद में परिभाषित) फ़ाइल पढ़ता है और एक विशिष्ट कुंजी प्रदान करता है।
  • createLazy बड़े फ़ाइलों को कुशलतापूर्वक प्रोसेस करता है, केवल आवश्यकता पड़ने पर सामग्री लोड करता है।

How to load documents from filesystem

नीचे एक पुन: उपयोग योग्य लोडर है जो डिस्क से किसी भी फ़ाइल को पढ़ता है, उसके बाइट्स निकालता है, और एक Document ऑब्जेक्ट बनाता है जो इंडेक्सिंग के लिए तैयार है।

class DocumentLoader {
    private final String filePath;
    private final String documentKey;

    public DocumentLoader(String filePath) {
        this.filePath = filePath;
        documentKey = FilenameUtils.getName(filePath);
    }

    public String getDocumentKey() { return documentKey; }

    public Document loadDocument() throws IOException {
        Path path = Paths.get(filePath);
        byte[] buffer = Files.readAllBytes(path);
        ByteArrayInputStream stream = new ByteArrayInputStream(buffer);
        return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream);
    }
}

Why this matters: एक समर्पित लोडर फ़ाइल‑सिस्टम संबंधी चिंताओं को इंडेक्सिंग लॉजिक से अलग करता है, जिससे आपका कोड साफ़ और परीक्षण में आसान बनता है।

How to perform keyword search in an index

String query = "moment";
SearchResult searchResult1 = index.search(query);
  • किसी भी टेक्स्ट स्ट्रिंग को search में पास करें और एक SearchResult प्राप्त करें जिसमें मिलते‑जुलते दस्तावेज़ IDs, स्निपेट्स, और प्रासंगिकता स्कोर शामिल हों।

How to delete documents from index

String[] documentKeys = new String[]{documentLoader.getDocumentKey()};
DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys);
  • उन दस्तावेज़ों की कुंजियाँ प्रदान करें जिन्हें आप हटाना चाहते हैं।
  • UpdateOptions आपको हटाने के लागू होने के तरीके को नियंत्रित करने देता है (जैसे, तत्काल बनाम बैच)।

How to retrieve indexed documents after deletions

DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments();
  • यह कॉल वर्तमान में इंडेक्स में मौजूद दस्तावेज़ों की सूची लौटाता है, जिससे आप यह सत्यापित कर सकते हैं कि हटाना सफल रहा।

Practical Applications

GroupDocs.Search for Java निम्नलिखित परिदृश्यों में उत्कृष्ट है:

  1. Enterprise document portals – कर्मचारी सेकंडों में नीतियों, अनुबंधों या मैनुअल्स को खोजते हैं।
  2. Legal case management – वकील हजारों PDF और Word फ़ाइलों में प्रीसेडेंट क्लॉज़ जल्दी ढूँढ़ते हैं।
  3. Digital libraries – विश्वविद्यालय शोध पत्रों और थिसिस पर पूर्ण‑टेक्स्ट खोज प्रदान करते हैं।

Performance Considerations

  • Regularly optimize इंडेक्स (index.optimize()) को बल्क अपडेट्स के बाद चलाएँ ताकि क्वेरी गति बनी रहे।
  • Leverage lazy loading बड़े फ़ाइलों के लिए OutOfMemory त्रुटियों से बचें।
  • Tune JVM heap को अपने दस्तावेज़ आकार वितरण के अनुसार समायोजित करें; मध्यम‑स्तर के वर्कलोड के लिए सामान्य सेटअप -Xmx2g उपयोग करता है।

Common Issues and Solutions

IssueCauseSolution
No results returnedQuery terms not indexed or stop‑words filteredVerify IndexingOptions and adjust the stop‑words list
Out‑of‑memory errorsLarge files loaded eagerlySwitch to Document.createLazy or increase JVM heap
Deleted documents still appearIndex not refreshed after deletionCall index.optimize() or reopen the index instance

Frequently Asked Questions

Q: क्या मैं PDFs, DOCX, और PPTX को एक साथ इंडेक्स कर सकता हूँ?
A: हाँ, GroupDocs.Search बॉक्स से बाहर कई फ़ॉर्मेट का समर्थन करता है।

Q: “delete documents from index” कैसे काम करता है?
A: delete मेथड निर्दिष्ट दस्तावेज़ कुंजियों के पोस्टिंग्स को हटाता है और आंतरिक संरचनाओं को अपडेट करता है, जिससे पूर्ण रीबिल्ड के बिना इंडेक्स संगत रहता है।

Q: क्या इंडेक्स आकार की निगरानी का कोई तरीका है?
A: index.getStatistics() का उपयोग करके दस्तावेज़ गिनती, कुल आकार, और अन्य उपयोगी मीट्रिक प्राप्त करें।

Q: क्या प्रत्येक हटाने के बाद पूरे इंडेक्स को रीबिल्ड करना पड़ता है?
A: नहीं। हटाने क्रमिक होते हैं; केवल प्रभावित एंट्रीज़ हटाई जाती हैं।

Q: स्कीमा परिवर्तन के बाद सभी फ़ाइलों को पुनः‑इंडेक्स करने की आवश्यकता पड़ती है तो क्या करें?
A: एक नया Index इंस्टेंस अलग फ़ोल्डर की ओर इंगित करके बनाएँ और सभी दस्तावेज़ फिर से जोड़ें।

Conclusion

आप अब how to index java दस्तावेज़ों को GroupDocs.Search for Java का उपयोग करके सेटअप, इंडेक्स में दस्तावेज़ जोड़ना, फ़ाइल सिस्टम से लोड करना, खोज करना, हटाना और इंडेक्स सामग्री की पुष्टि करने की पूरी रोडमैप के साथ सुसज्जित हैं। इन चरणों को अपने एप्लिकेशन में एकीकृत करके आप दस्तावेज़ खोजने की क्षमता और समग्र उत्पादकता में उल्लेखनीय सुधार करेंगे।

Next steps:

  • जटिल क्वेरी (वाइल्डकार्ड, फज़ी मैचिंग) के साथ प्रयोग करें।
  • फ़ैसिटेड सर्च, कस्टम एनालाइज़र, और मेटाडेटा इंडेक्सिंग जैसी उन्नत सुविधाओं का अन्वेषण करें।

Happy indexing!


Last Updated: 2026-03-01
Tested With: GroupDocs.Search Java 25.4
Author: GroupDocs