Hoe een index te maken in .NET met GroupDocs Search API

In deze tutorial ontdek je how to create index voor je .NET-toepassingen met GroupDocs.Search en bescherm je vervolgens gevoelige inhoud met GroupDocs.Redaction. Aan het einde van de gids kun je een doorzoekbare index bouwen, bijwerken en opschonen, en begrijp je waarom het combineren van zoeken en redactie een best‑practice is voor veilig documentbeheer.

Snelle antwoorden

  • Wat betekent “how to create index”? Het betekent het bouwen van een doorzoekbare datastructuur die documentinhoud koppelt aan snelle opzoeksleutels.
  • Welke bibliotheken zijn vereist? GroupDocs.Search en GroupDocs.Redaction voor .NET (NuGet‑pakketten).
  • Kan ik PDF’s, Word en afbeeldingen indexeren? Ja—meer dan 150 formaten worden direct ondersteund.
  • Hoe verwijder ik een document uit de index? Roep de Delete‑methode aan met het pad of de ID van het document.
  • Wordt redactie uitgevoerd vóór of na het indexeren? Redactie moet eerst gebeuren zodat beschermde gegevens nooit de index binnenkomen.

Wat is “how to create index”?

De uitdrukking how to create index verwijst naar het proces van het genereren van een doorzoekbare datastructuur die term‑naar‑document‑koppelingen opslaat voor snelle opvraging. In GroupDocs bevindt deze structuur zich op schijf en kan deze incrementeel worden bijgewerkt zonder de hele collectie opnieuw op te bouwen.

Waarom GroupDocs.Search en GroupDocs.Redaction samen gebruiken?

GroupDocs.Search ondersteunt het indexeren van 150+ bestandsformaten en kan indexes groter dan 10 GB aan, terwijl het geheugengebruik onder 200 MB blijft omdat het bestanden streamt in plaats van ze volledig te laden. Het toevoegen van GroupDocs.Redaction zorgt ervoor dat vertrouwelijke tekst, afbeeldingen of metadata worden verwijderd voordat de inhoud de index bereikt, wat naleving van GDPR, HIPAA en andere regelgeving garandeert.

Voorvereisten

  • Libraries & Versions – Installeer de nieuwste GroupDocs.Search en GroupDocs.Redaction NuGet‑pakketten die compatibel zijn met .NET 6 of hoger.
  • IDE – Visual Studio 2022 (of een andere IDE die .NET 6 ondersteunt).
  • Knowledge – Basis C#‑vaardigheden, vertrouwdheid met bestands‑I/O, en een begrip van indexeringsconcepten.

GroupDocs.Redaction voor .NET instellen

Installatie

Gebruik .NET CLI:

dotnet add package GroupDocs.Redaction

Gebruik Package Manager Console in Visual Studio:

Install-Package GroupDocs.Redaction

Je kunt ook “GroupDocs.Redaction” vinden in de NuGet Package Manager UI en de nieuwste stabiele versie installeren.

Licentie‑acquisitie

Je kunt een gratis proefversie verkrijgen of een tijdelijke licentie aanvragen om alle functies zonder beperkingen te verkennen. Bezoek GroupDocs’ Purchase Page voor meer details over het verkrijgen van een licentie.

Basisinitialisatie

Redactor is de primaire klasse die redactiebewerkingen op een document uitvoert.
De volgende snippet toont de minimale code die nodig is om GroupDocs.Redaction te gaan gebruiken:

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

Deze eenvoudige configuratie is alles wat je nodig hebt om GroupDocs.Redaction te beginnen gebruiken.

Implementatie‑gids

Hoe een index te maken?

Index vertegenwoordigt de doorzoekbare container die term‑woordenboeken en documentmetadata bevat.
Laad of maak een Index‑object, wijs het naar een map waar de indexbestanden worden opgeslagen, en roep Create aan. De operatie schrijft de benodigde metadata‑bestanden en bereidt de engine voor op het opnemen van documenten.

// 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.

Stap 1: Maak de index

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.

Hoe documenten aan de index toe te voegen?

Add voegt een enkel document toe aan de index, terwijl AddFolder alle bestanden in een map verwerkt.
Je voegt bestanden toe door Add of AddFolder aan te roepen. De engine leest elk ondersteund bestand, extraheert tekst, en werkt het term‑woordenboek bij.

// 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.

Stap 2: Documentmappen toevoegen

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

Hoe geïndexeerde paden op te halen?

GetIndexedPaths retourneert een collectie van alle documentpaden die in de index zijn opgeslagen.
Het ophalen van de lijst met geïndexeerde bestands‑paden stelt je in staat te verifiëren welke documenten momenteel doorzoekbaar zijn.

// 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.

Stap 3: Toon geïndexeerde paden

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

Hoe een document uit de index te verwijderen?

Delete verwijdert een document uit de index op basis van zijn pad of identifier.
Wanneer een bestand wordt verwijderd of verouderd raakt, moet je het item verwijderen om zoekresultaten nauwkeurig te houden.

// 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.

Stap 4: Specifieke paden verwijderen

using GroupDocs.Search.Options;

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

Hoe de resterende geïndexeerde paden na verwijdering te verifiëren?

Na het verwijderen kun je de ophaalmethode opnieuw uitvoeren om te verzekeren dat de index de huidige staat weergeeft.

// 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.

Stap 5: Resterende paden verifiëren

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

Praktische toepassingen

  1. Document Management Systems – Zoek snel contracten, facturen of handleidingen op in miljoenen bestanden.
  2. Legal Document Review – Redigeer bevoorrechte informatie vóór het indexeren om accidentele blootstelling te voorkomen.
  3. Archival Solutions – Bewaar doorzoekbare metadata voor historische archieven zonder de volledige archieven in het geheugen te laden.
  4. Content Management Platforms – Zorg voor site‑brede zoekfunctionaliteit voor blogs, kennisbanken en multimedia‑bibliotheken.
  5. Data Compliance Audits – Zorg ervoor dat alleen gesaniteerde inhoud doorzoekbaar is, zodat aan regelgeving wordt voldaan.

Prestatie‑overwegingen

  • Optimize Indexing – Plan incrementeel indexeren elke nacht; gebruik AddFolder met een batchgrootte van 100 bestanden om I/O‑pieken te verminderen.
  • Resource Management – Houd CPU en RAM in de gaten; GroupDocs.Search verwerkt bestanden streaming, waardoor het piekgeheugen onder 200 MB blijft, zelfs bij 10 GB indexes.
  • Best Practices – Sla de index op SSD’s op voor sub‑seconden query‑respons, en schakel compressie in (index.Compression = true) om het schijfgebruik te halveren.

Veelgestelde vragen

Q: Kan ik niet‑tekstbestanden indexeren met GroupDocs?
A: Ja, GroupDocs.Search kan meer dan 150 formaten indexeren — waaronder PDF’s, DOCX, PPTX, XLSX en afbeeldings‑types — door ingesloten tekst via OCR te extraheren waar nodig.

Q: Hoe ga ik om met grote hoeveelheden documenten?
A: Gebruik AddFolder met een configureerbare batchgrootte, voer indexeren uit in een achtergrondservice, en roep periodiek Optimize() aan om kleine indexsegmenten samen te voegen.

Q: Wat zijn de voordelen van het gebruiken van redactie met indexeren?
A: Redactie verwijdert persoonlijk identificeerbare informatie voordat deze de index bereikt, waardoor zoekresultaten nooit beschermde gegevens blootstellen.

Q: Is het mogelijk om zoekalgoritmen aan te passen?
A: GroupDocs.Search biedt synoniem‑woordenboeken, aangepaste tokenizers en reguliere‑expressie‑filters, waardoor je de relevantiescore fijn kunt afstemmen.

Q: Hoe los ik veelvoorkomende indexeringsproblemen op?
A: Controleer map‑rechten, zorg dat de .NET‑runtime overeenkomt met het doel van de bibliotheek, en bekijk het logbestand dat in de indexmap wordt gegenereerd voor gedetailleerde foutmeldingen.

Bronnen

Verken deze bronnen om je begrip te verdiepen en je implementatie van GroupDocs.Search en Redaction in .NET te verbeteren. Veel programmeerplezier!


Laatst bijgewerkt: 2026-07-26
Getest met: GroupDocs.Search 23.10, GroupDocs.Redaction 23.10 for .NET
Auteur: GroupDocs

Gerelateerde tutorials