.NET में GroupDocs Search API के साथ इंडेक्स कैसे बनाएं

इस ट्यूटोरियल में आप अपने .NET एप्लिकेशन के लिए GroupDocs.Search का उपयोग करके इंडेक्स कैसे बनाएं और फिर GroupDocs.Redaction के साथ संवेदनशील सामग्री की सुरक्षा करना सीखेंगे। गाइड के अंत तक आप एक खोज योग्य इंडेक्स को बनाना, अपडेट करना और साफ़ करना सीख जाएंगे, और समझेंगे कि खोज और रेडैक्शन को मिलाकर उपयोग करना सुरक्षित दस्तावेज़ प्रबंधन के लिए सर्वोत्तम प्रथा क्यों है।

त्वरित उत्तर

  • “इंडेक्स कैसे बनाएं” क्या मतलब है? यह एक खोज योग्य डेटा संरचना बनाने को दर्शाता है जो दस्तावेज़ सामग्री को तेज़ लुकअप कुंजियों से मैप करती है।
  • कौन सी लाइब्रेरीज़ आवश्यक हैं? GroupDocs.Search और GroupDocs.Redaction for .NET (NuGet packages).
  • क्या मैं PDFs, Word, और images को इंडेक्स कर सकता हूँ? हाँ—150 से अधिक फॉर्मेट्स डिफ़ॉल्ट रूप से समर्थित हैं।
  • मैं इंडेक्स से दस्तावेज़ कैसे हटाऊँ? Delete मेथड को दस्तावेज़ के पथ या ID के साथ कॉल करें।
  • क्या रेडैक्शन इंडेक्सिंग से पहले या बाद में किया जाता है? रेडैक्शन पहले होना चाहिए ताकि संरक्षित डेटा कभी इंडेक्स में न जाए।

“इंडेक्स कैसे बनाएं” क्या है?

वाक्यांश इंडेक्स कैसे बनाएं उस प्रक्रिया को दर्शाता है जिसमें एक खोज योग्य डेटा संरचना उत्पन्न की जाती है जो तेज़ पुनर्प्राप्ति के लिए टर्म‑से‑डॉक्यूमेंट मैपिंग्स को संग्रहीत करती है। GroupDocs में, यह संरचना डिस्क पर रहती है और पूरे संग्रह को पुनः बनाये बिना क्रमिक रूप से अपडेट की जा सकती है।

GroupDocs.Search और GroupDocs.Redaction को साथ में क्यों उपयोग करें?

GroupDocs.Search 150+ फ़ाइल फ़ॉर्मेट्स का इंडेक्सिंग समर्थन करता है और 10 GB से बड़े इंडेक्स को संभाल सकता है जबकि मेमोरी उपयोग 200 MB से कम रखता है क्योंकि यह फ़ाइलों को पूरी तरह लोड करने के बजाय स्ट्रीम करता है। GroupDocs.Redaction जोड़ने से यह सुनिश्चित होता है कि कोई भी गोपनीय टेक्स्ट, इमेज या मेटाडेटा सामग्री के इंडेक्स में पहुँचने से पहले हटा दिया जाए, जिससे GDPR, HIPAA और अन्य नियमों के अनुपालन की गारंटी मिलती है।

पूर्वापेक्षाएँ

  • लाइब्रेरीज़ और संस्करण – .NET 6 या बाद के साथ संगत नवीनतम GroupDocs.Search और GroupDocs.Redaction NuGet पैकेज स्थापित करें।
  • IDE – Visual Studio 2022 (या कोई भी IDE जो .NET 6 को सपोर्ट करता हो)।
  • ज्ञान – बेसिक C# कौशल, फ़ाइल I/O की परिचितता, और इंडेक्सिंग अवधारणाओं की समझ।

.NET के लिए GroupDocs.Redaction सेट अप करना

इंस्टॉलेशन

.NET CLI का उपयोग करके:

dotnet add package GroupDocs.Redaction

Visual Studio में पैकेज मैनेजर कंसोल का उपयोग करके:

Install-Package GroupDocs.Redaction

आप NuGet पैकेज मैनेजर UI में “GroupDocs.Redaction” को भी ढूँढ सकते हैं और नवीनतम स्थिर संस्करण स्थापित कर सकते हैं।

लाइसेंस प्राप्ति

आप सभी फीचर्स को बिना सीमाओं के एक्सप्लोर करने के लिए एक फ्री ट्रायल प्राप्त कर सकते हैं या एक अस्थायी लाइसेंस का अनुरोध कर सकते हैं। लाइसेंस प्राप्त करने के बारे में अधिक विवरण के लिए GroupDocs’ Purchase Page पर जाएँ।

बुनियादी इनिशियलाइज़ेशन

Redactor वह मुख्य क्लास है जो दस्तावेज़ पर रेडैक्शन ऑपरेशन करता है।
निम्न स्निपेट GroupDocs.Redaction का उपयोग शुरू करने के लिए आवश्यक न्यूनतम कोड दिखाता है:

// Initialize the Redactor with a file path or stream
using (Redactor redactor = new Redactor("input.docx"))
{
    // Your redaction code here
}

यह सरल सेटअप GroupDocs.Redaction का उपयोग शुरू करने के लिए आपका पर्याप्त है।

कार्यान्वयन गाइड

इंडेक्स कैसे बनाएं?

Index वह खोज योग्य कंटेनर दर्शाता है जो टर्म डिक्शनरी और दस्तावेज़ मेटाडेटा रखता है।
एक Index ऑब्जेक्ट लोड या बनाएं, उसे उस फ़ोल्डर की ओर इंगित करें जहाँ इंडेक्स फ़ाइलें संग्रहीत होंगी, और Create को कॉल करें। यह ऑपरेशन आवश्यक मेटाडेटा फ़ाइलें लिखता है और दस्तावेज़ इनजेशन के लिए इंजन तैयार करता है।

// Direct answer (40‑70 words):
Create a new `Index` instance by specifying the folder path where the index will reside, then invoke `Create()` to initialise the storage structures. The method writes index headers, term dictionaries, and a lock file, making the folder ready for document addition. This step is required only once per index location.

चरण 1: इंडेक्स बनाएं

using GroupDocs.Search;

string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Indexing/DeleteIndexedPaths";
Index index = new Index(indexFolder);
// This line initializes an index at the provided folder path.

इंडेक्स में दस्तावेज़ कैसे जोड़ें?

Add एकल दस्तावेज़ को इंडेक्स में डालता है, जबकि AddFolder एक डायरेक्टरी की सभी फ़ाइलों को प्रोसेस करता है।
आप Add या AddFolder को कॉल करके फ़ाइलें जोड़ते हैं। इंजन प्रत्येक समर्थित फ़ाइल को पढ़ता है, टेक्स्ट निकालता है, और टर्म डिक्शनरी को अपडेट करता है।

// Direct answer (40‑70 words):
Use `index.AddFolder("C:\\Docs")` or `index.Add("C:\\Docs\\file.pdf")` to feed documents into the index. The API streams each file, extracts searchable text, and stores term‑frequency data without loading the entire file into memory, which lets you index thousands of large PDFs efficiently.

चरण 2: दस्तावेज़ फ़ोल्डर जोड़ें

string documentsFolder1 = @"YOUR_DOCUMENT_DIRECTORY";
string documentsFolder2 = @"YOUR_DOCUMENT_DIRECTORY2";

index.Add(documentsFolder1);  // Adding the first folder of documents to the index
index.Add(documentsFolder2);  // Adding the second folder of documents to the index

इंडेक्स्ड पाथ्स कैसे प्राप्त करें?

GetIndexedPaths इंडेक्स में संग्रहीत सभी दस्तावेज़ पाथ्स का संग्रह लौटाता है।
इंडेक्स्ड फ़ाइल पाथ्स की सूची प्राप्त करने से आप यह सत्यापित कर सकते हैं कि कौन से दस्तावेज़ वर्तमान में खोज योग्य हैं।

// Direct answer (40‑70 words):
Call `index.GetIndexedDocuments()` to obtain a collection of `IndexedDocumentInfo` objects, each containing the original file path, document ID, and indexing timestamp. Loop through the collection and output the `FilePath` property to confirm that every expected file has been successfully added.

चरण 3: इंडेक्स्ड पाथ्स दिखाएँ

string[] indexedPaths1 = index.GetIndexedPaths();
foreach (string path in indexedPaths1)
{
    Console.WriteLine(path); // Outputs the document paths
}

इंडेक्स से दस्तावेज़ कैसे हटाएँ?

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

// Direct answer (40‑70 words):
Invoke `index.Delete("C:\\Docs\\obsolete.pdf")` or `index.Delete(documentId)` to purge a specific document from the index. The method removes all term entries linked to that file, updates the term dictionary, and frees the space on disk, ensuring that future queries no longer return the deleted content.

चरण 4: विशिष्ट पाथ्स हटाएँ

using GroupDocs.Search.Options;

string[] pathsToDelete = { @"YOUR_DOCUMENT_DIRECTORY" };
DeleteResult deleteResult = index.Delete(pathsToDelete, new UpdateOptions());
// This deletes specified document paths from the index.

हटाने के बाद शेष इंडेक्स्ड पाथ्स कैसे सत्यापित करें?

हटाने के बाद, आप पुनः रिट्रीवल मेथड चला सकते हैं ताकि यह सुनिश्चित हो सके कि इंडेक्स वर्तमान स्थिति को दर्शा रहा है।

// Direct answer (40‑70 words):
Run `index.GetIndexedDocuments()` again and compare the resulting list with the pre‑deletion list. The missing file path confirms successful deletion, while the remaining entries confirm the index’s integrity. This verification step is especially important in automated pipelines.

चरण 5: शेष पाथ्स सत्यापित करें

string[] indexedPaths2 = index.GetIndexedPaths();
foreach (string path in indexedPaths2)
{
    Console.WriteLine(path); // Displays remaining paths after deletion
}

व्यावहारिक अनुप्रयोग

  1. Document Management Systems – लाखों फ़ाइलों में जल्दी से कॉन्ट्रैक्ट, इनवॉइस या मैनुअल खोजें।
  2. Legal Document Review – इंडेक्सिंग से पहले विशेष जानकारी को रेडैक्ट करें ताकि आकस्मिक एक्सपोज़र न हो।
  3. Archival Solutions – पूरे आर्काइव को मेमोरी में लोड किए बिना ऐतिहासिक रिकॉर्ड्स के लिए खोज योग्य मेटाडेटा संरक्षित रखें।
  4. Content Management Platforms – ब्लॉग, नॉलेज बेस, और मल्टीमीडिया लाइब्रेरीज़ के लिए साइट‑व्यापी सर्च को सक्षम बनाएं।
  5. Data Compliance Audits – सुनिश्चित करें कि केवल साफ़ किया गया कंटेंट खोज योग्य हो, जिससे नियामक आवश्यकताओं को पूरा किया जा सके।

प्रदर्शन संबंधी विचार

  • इंडेक्सिंग अनुकूलित करें – रात में क्रमिक इंडेक्सिंग शेड्यूल करें; I/O स्पाइक्स कम करने के लिए AddFolder को 100 फ़ाइलों के बैच साइज के साथ उपयोग करें।
  • संसाधन प्रबंधन – CPU और RAM की निगरानी करें; GroupDocs.Search फ़ाइलों को स्ट्रीमिंग तरीके से प्रोसेस करता है, जिससे 10 GB इंडेक्स के लिए भी पीक मेमोरी 200 MB से कम रहती है।
  • सर्वोत्तम प्रथाएँ – सब‑सेकंड क्वेरी प्रतिक्रिया के लिए इंडेक्स को SSD पर रखें, और डिस्क उपयोग को आधा करने के लिए कम्प्रेशन सक्षम करें (index.Compression = true).

अक्सर पूछे जाने वाले प्रश्न

Q: क्या मैं GroupDocs के साथ non‑text फ़ाइलें भी इंडेक्स कर सकता हूँ?
A: हाँ, GroupDocs.Search 150 से अधिक फ़ॉर्मेट्स—जैसे PDFs, DOCX, PPTX, XLSX, और इमेज टाइप्स—को OCR के माध्यम से एम्बेडेड टेक्स्ट निकालकर इंडेक्स कर सकता है जहाँ आवश्यक हो।

Q: मैं बड़ी मात्रा में दस्तावेज़ों को कैसे संभालूँ?
A: AddFolder को कॉन्फ़िगरेबल बैच साइज के साथ उपयोग करें, इंडेक्सिंग को बैकग्राउंड सर्विस में चलाएँ, और समय‑समय पर छोटे इंडेक्स सेगमेंट्स को मर्ज करने के लिए Optimize() कॉल करें।

Q: इंडेक्सिंग के साथ रेडैक्शन उपयोग करने के क्या लाभ हैं?
A: रेडैक्शन व्यक्तिगत पहचान योग्य जानकारी को इंडेक्स में पहुँचने से पहले हटा देता है, जिससे सर्च परिणाम कभी भी संरक्षित डेटा को उजागर नहीं करते।

Q: क्या सर्च एल्गोरिदम को कस्टमाइज़ करना संभव है?
A: GroupDocs.Search साइनोनिम डिक्शनरी, कस्टम टोकनाइज़र, और रेगुलर‑एक्सप्रेशन फ़िल्टर प्रदान करता है, जिससे आप रिलिवेंस स्कोरिंग को फाइन‑ट्यून कर सकते हैं।

Q: सामान्य इंडेक्सिंग समस्याओं को कैसे ट्रबलशूट करूँ?
A: फ़ोल्डर अनुमतियों की जाँच करें, सुनिश्चित करें कि .NET रनटाइम लाइब्रेरी के टार्गेट से मेल खाता है, और विस्तृत एरर मैसेज के लिए इंडेक्स फ़ोल्डर में जनरेटेड लॉग फ़ाइल देखें।

संसाधन

इन संसाधनों का अन्वेषण करें ताकि आप GroupDocs.Search और Redaction को .NET में लागू करने की समझ को गहरा कर सकें। कोडिंग का आनंद लें!


Last Updated: 2026-07-26
Tested With: GroupDocs.Search 23.10, GroupDocs.Redaction 23.10 for .NET
Author: GroupDocs

संबंधित ट्यूटोरियल