Wyszukiwanie i Redagowanie Dokumentów w .NET przy użyciu GroupDocs.Search & GroupDocs.Redaction

W nowoczesnych środowiskach korporacyjnych możliwości wyszukiwania i redagowania są niezbędne do ochrony wrażliwych informacji przy jednoczesnym zapewnieniu łatwej dostępności dokumentów. Ten samouczek przeprowadzi Cię przez budowę solidnego rozwiązania .NET, które łączy GroupDocs.Search do szybkiego wyszukiwania pełnotekstowego z GroupDocs.Redaction, aby bezpiecznie usuwać poufne dane. Po zakończeniu będziesz wiedział, jak skonfigurować biblioteki, stworzyć własny segmentator tekstu, uruchamiać wysokowydajne wyszukiwania i bezpiecznie stosować redakcje.

Szybkie odpowiedzi

  • Co oznacza „wyszukiwanie i redagowanie”? Oznacza to znajdowanie tekstu w dokumentach i trwałe maskowanie go.
  • Jakie biblioteki są wymagane? GroupDocs.Search i GroupDocs.Redaction dla .NET.
  • Czy mogę obsługiwać treści wielojęzyczne? Tak — użyj własnego segmentatora tekstu, aby poprawnie dzielić słowa.
  • Jak poprawić szybkość wyszukiwania? Zindeksuj raz, ponownie używaj indeksu i włącz ustawienia optimize search performance.
  • Co zrobić, jeśli indeksowanie się nie powiedzie? Postępuj zgodnie z wytycznymi „handle indexing errors” w sekcji rozwiązywania problemów.

Czym jest „wyszukiwanie i redagowanie”?

Wyszukiwanie i redagowanie to proces lokalizowania konkretnych terminów w zbiorze dokumentów, a następnie ich trwałego ukrywania lub usuwania w celu ochrony prywatności lub spełnienia wymogów regulacyjnych. Łączy pełnotekstowe wyszukiwanie w celu odnalezienia wrażliwych informacji z narzędziami redakcji, które zastępują zawartość, zachowując oryginalny układ dokumentu.

Dlaczego używać razem GroupDocs.Search i GroupDocs.Redaction?

GroupDocs.Search obsługuje ponad 50 formatów plików i może zindeksować ponad 100 000 dokumentów w mniej niż minutę na typowym serwerze, podczas gdy GroupDocs.Redaction może stosować redakcje do PDF, DOCX, PPTX i innych bez zmiany pierwotnego układu. Połączenie ich daje rozwiązanie jednopakietowe, które optymalizuje wydajność wyszukiwania i elegancko radzi sobie z błędami indeksowania.

Wymagania wstępne

  • Visual Studio 2022 lub nowsze z obsługą .NET 6+.
  • Pakiety NuGet: GroupDocs.Search i GroupDocs.Redaction (najnowsze stabilne wersje).
  • Ważna licencja GroupDocs (wersja próbna lub zakupiona).

Wymagane biblioteki

  • GroupDocs.Search – zapewnia indeksowanie, zapytania i własną segmentację.
  • GroupDocs.Redaction – oferuje redakcję tekstu, obrazów i metadanych w obsługiwanych formatach.

Wymagania dotyczące konfiguracji środowiska

Upewnij się, że Twój komputer deweloperski ma uprawnienia do zapisu w folderze, w którym będzie przechowywany indeks.

Wymagania wiedzy

  • Znajomość C# i struktury projektów .NET.
  • Podstawowe zrozumienie koncepcji przetwarzania dokumentów (opcjonalne, ale pomocne).

Jak zainstalować GroupDocs.Redaction dla .NET?

Możesz dodać pakiet Redaction do swojego projektu, używając .NET CLI lub Menedżera Pakietów NuGet. Polecenie pobiera najnowszą stabilną wersję i rejestruje ją w pliku projektu, udostępniając API od razu.

dotnet add package GroupDocs.Redaction

Jak uzyskać licencję na GroupDocs?

GroupDocs oferuje trzy opcje licencjonowania: darmową wersję próbną do oceny, tymczasową licencję do rozszerzonego testowania oraz pełną licencję komercyjną do użytku produkcyjnego. Wersja próbna zapewnia ograniczoną funkcjonalność, tymczasowy klucz wydłuża okres oceny, a zakupiona licencja odblokowuje wszystkie funkcje i priorytetowe wsparcie.

Jak zainicjalizować GroupDocs.Redaction w mojej aplikacji?

Klasa Redaction jest głównym punktem wejścia do stosowania redakcji w obsługiwanych dokumentach. Ładuje plik, przygotowuje obiekty redakcji i wykonuje proces redakcji, zwracając zmodyfikowany dokument przy zachowaniu oryginalnego układu. Możesz także skonfigurować opcje redakcji, takie jak kolor, nakładka i usuwanie metadanych, aby spełnić konkretne wymagania zgodności.

using GroupDocs.Redaction;

// Initialize Redactor with the document path
Redactor redactor = new Redactor("path/to/document.pdf");

Jak skonfigurować indeks przy użyciu GroupDocs.Search?

Klasa Index reprezentuje repozytorium przeszukiwalne przechowywane na dysku. Zarządza tworzeniem, aktualizacją i zapytaniami indeksu, umożliwiając dodawanie dokumentów, przebudowę indeksu oraz szybkie wyszukiwania w dużych kolekcjach. Folder indeksu może znajdować się na lokalnym lub sieciowym magazynie, a także możesz skonfigurować kompresję i szyfrowanie, aby chronić zindeksowane dane.

using GroupDocs.Search;

// Specify the index folder path
string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Indexing/CustomTextSegmenter";

// Initialize the index
Index index = new Index(indexFolder);

Czym jest niestandardowy segmentator tekstu i dlaczego warto go używać?

Niestandardowy segmentator tekstu określa, w jaki sposób surowy tekst jest dzielony na tokeny przeszukiwalne. Dostosowując reguły segmentacji do konkretnych języków lub domen, zwiększasz dokładność tokenizacji, co prowadzi do wyższego współczynnika przywołań i trafności wyników wyszukiwania. Jest to szczególnie przydatne w językach o złożonych granicach wyrazów, takich jak japoński czy arabski, gdzie domyślne tokenizatory mogą niepoprawnie dzielić słowa.

// Define a search query using Chinese language text
string query = "考虑"; // The word 'consider' in Chinese

Jak wykonać wyszukiwanie pełnotekstowe przy użyciu niestandardowego segmentatora?

Obiekt SearchQuery kapsułkuje zapytanie użytkownika i współpracuje z niestandardowym segmentatorem, aby znaleźć dopasowania. Obsługuje dopasowanie rozmyte, zapytania frazowe i ważenie, zwracając zestaw wyników z identyfikatorami dokumentów, pozycjami trafień i ocenami trafności. Możesz także zastosować filtry, takie jak typ pliku czy zakres dat, aby zawęzić wyniki i uzyskać precyzyjniejsze dopasowanie.

// Execute the search on indexed data
SearchResult result = index.Search(query);

// Process results to analyze findings or display them
foreach (FoundDocument doc in result)
{
    Console.WriteLine($"Document: {doc.DocumentInfo.FilePath}");
}

Jak zastosować redakcje po znalezieniu wrażliwego tekstu?

API Redaction pozwala zastępować lub usuwać tekst, obrazy i metadane w obsługiwanych dokumentach. Po zidentyfikowaniu wrażliwych terminów tworzysz obiekty redakcji, stosujesz je i zapisujesz zredagowany plik, zapewniając trwałe ukrycie poufnych informacji. Opcje redakcji obejmują nakładanie czarnych pól, użycie własnych kolorów lub usuwanie całych obiektów przy zachowaniu struktury dokumentu.

using (Redactor redactor = new Redactor("path/to/document.pdf"))
{
    // Define the redaction settings and criteria
    TextRedaction textRedaction = new TextRedaction("Sensitive Information", new ReplacementOptions("[REDACTED]"));
    
    // Apply the redaction to the document
    RedactorChangeLog log = redactor.Apply(textRedaction);

    if (log.Status != RedactionStatus.Failed)
    {
        redactor.Save();
    }
}

Typowe problemy i jak radzić sobie z błędami indeksowania

  • Indeks nie znaleziony: Sprawdź, czy ścieżka indeksu istnieje i czy aplikacja ma uprawnienia odczytu/zapisu.
  • Wyszukiwanie nie zwraca wyników: Ponownie uruchom proces indeksowania i upewnij się, że niestandardowy segmentator jest poprawnie zarejestrowany.
  • Redakcja nie działa w niektórych formatach: Potwierdź, że typ pliku jest obsługiwany; w przypadku PDF‑ów użyj najnowszej wersji Redaction, aby obsłużyć funkcje PDF 2.0.

Praktyczne zastosowania

  1. Zarządzanie dokumentami prawnymi: Wyszukuj w umowach frazę „non‑disclosure” i automatycznie redaguj klauzule przed udostępnieniem zewnętrznym.
  2. Badania akademickie: Lokalizuj nieopublikowane dane w manuskryptach i ukrywaj je w procesie recenzji naukowej.
  3. Umowy biznesowe: Przetwarzaj masowo tysiące umów, redagując dane osobowe przy zachowaniu języka prawnego.

Jak zoptymalizować wydajność wyszukiwania dla dużych zbiorów dokumentów?

Aby zmaksymalizować wydajność, indeksuj dokumenty raz i ponownie używaj tego samego indeksu dla kolejnych zapytań. Włącz przetwarzanie równoległe, skonfiguruj buforowanie i dostrój ustawienia indeksu, aby zmniejszyć opóźnienia i zwiększyć przepustowość na serwerach wielordzeniowych. Dodatkowo ustaw flagę EnableMemoryMapping, aby indeks był mapowany w pamięci, co przyspiesza operacje odczytu przy dużych zestawach danych.

Jak zarządzać pamięcią .NET przy pracy z dużymi plikami?

Efektywne zarządzanie pamięcią jest kluczowe przy obsłudze dużych dokumentów. Umieszczaj obiekty Index i Redaction w instrukcjach using, aby zapewnić deterministyczne zwalnianie zasobów, i przetwarzaj pliki jako strumienie zamiast ładować całe dokumenty do pamięci. Monitorowanie liczników wydajności pomaga wykrywać nagłe skoki pamięci, co pozwala dostosować rozmiary partii lub włączyć optymalizację garbage collection.

Najczęściej zadawane pytania

P: Czy mogę używać GroupDocs.Search z metadanymi nienależącymi do tekstu?
O: Tak — pola metadanych mogą być indeksowane razem z treścią dokumentu, umożliwiając zapytania typu „author:JohnDoe”.

P: Czy GroupDocs.Redaction obsługuje redakcję w czasie rzeczywistym w API webowym?
O: Tak; możesz wywołać API Redaction synchronicznie dla małych plików lub kolejkować większe zadania do przetwarzania asynchronicznego.

P: Co zrobić, jeśli indeks zostanie uszkodzony?
O: Usuń uszkodzony folder indeksu i odbuduj go, używając tego samego procesu indeksowania; biblioteka zapisuje szczegółowe komunikaty o błędach, które pomogą zidentyfikować przyczynę.

P: Czy istnieje możliwość podglądu zredagowanych dokumentów przed ich zapisaniem?
O: Oczywiście — wywołaj redaction.Apply() z flagą preview, aby wygenerować tymczasową wersję do przeglądu.

P: Jakie wersje .NET są oficjalnie wspierane?
O: GroupDocs.Search i GroupDocs.Redaction wspierają .NET 6, .NET 5, .NET Core 3.1 oraz .NET Framework 4.6.2+.

Zasoby

Last Updated: 2026-06-12
Tested With: GroupDocs.Search 23.11, GroupDocs.Redaction 23.11 for .NET
Author: GroupDocs

Install-Package GroupDocs.Redaction

Powiązane samouczki