Jak zaktualizować indeks przy użyciu GroupDocs.Search i Redaction (.NET)

W nowoczesnych, opartych na danych przedsiębiorstwach, how to update index szybko i niezawodnie może decydować o jakości doświadczenia wyszukiwania. Niezależnie od tego, czy obsługujesz tysiące umów, czy rozległą bazę wiedzy, utrzymanie indeksu wyszukiwania w synchronizacji z najnowszymi zmianami dokumentów jest niezbędne dla szybkich i dokładnych wyników. Ten samouczek przeprowadzi Cię przez użycie GroupDocs.Search dla .NET wraz z GroupDocs.Redaction do update index plików, zarządzania wersjonowanymi indeksami i ochrony wrażliwych treści — wszystko w czystym projekcie .NET.

Szybkie odpowiedzi

  • Co oznacza „how to update index”? Jest to proces modyfikacji istniejącego indeksu wyszukiwania, tak aby nowe lub zmienione dokumenty stały się przeszukiwalne bez konieczności pełnego przebudowania.
  • Jakie biblioteki są wymagane? GroupDocs.Search i GroupDocs.Redaction dla .NET (obydwie dostępne przez NuGet).
  • Czy potrzebna jest licencja? Darmowa wersja próbna działa do testów; licencja produkcyjna odblokowuje pełną funkcjonalność.
  • Czy mogę uruchomić to na .NET Core? Tak, biblioteki obsługują .NET Framework 4.5+, .NET Core 3.1+ oraz .NET 5/6+.
  • Jaką wydajność mogę oczekiwać? Aktualizacja 1 GB indeksu przy użyciu 2 wątków kończy się w mniej niż minutę na typowym serwerze 4‑rdzeniowym.

Co to jest „how to update index”?

How to update index odnosi się do techniki stosowania przyrostowych zmian w istniejącym indeksie wyszukiwania zamiast jego pełnego odtworzenia. Takie podejście zmniejsza przestoje, oszczędza cykle CPU i utrzymuje wyniki wyszukiwania aktualne, gdy dokumenty są dodawane, edytowane lub usuwane.

Dlaczego używać GroupDocs.Search i Redaction do aktualizacji indeksu?

GroupDocs.Search obsługuje ponad 50 formatów plików (PDF, DOCX, XLSX, PPTX, HTML, obrazy itp.) i może przetwarzać dokumenty wielostronicowe bez wczytywania całego pliku do pamięci. W połączeniu z GroupDocs.Redaction możesz automatycznie usuwać lub maskować wrażliwe dane przed indeksowaniem, zapewniając zgodność przy zachowaniu trafności wyników wyszukiwania.

Wymagania wstępne

  • GroupDocs.Search – instalacja przez NuGet.
  • GroupDocs.Redaction for .NET – wymagane do funkcji redakcji.
  • Visual Studio (lub dowolne IDE .NET) z zainstalowanym .NET 6+.
  • Podstawowa znajomość C# oraz koncepcji indeksowania.

Wymagane biblioteki i wersje

  • GroupDocs.Search – najnowsze stabilne wydanie z NuGet.
  • GroupDocs.Redaction for .NET – najnowsze stabilne wydanie z NuGet.

Wymagania dotyczące konfiguracji środowiska

  • Maszyna z systemem Windows lub Linux z zainstalowanym .NET SDK.
  • Dostęp do folderu, w którym będą przechowywane pliki indeksu.

Wymagania wiedzy

  • Zrozumienie podstaw indeksowania dokumentów i wyszukiwania.
  • Świadomość zarządzania cyklem życia dokumentów w systemach korporacyjnych.

Konfiguracja GroupDocs.Redaction dla .NET

Instalacja pakietów

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI

  • Wyszukaj „GroupDocs.Redaction” i zainstaluj najnowszą wersję.

Kroki uzyskania licencji

  1. Free Trial – rozpocznij od wersji próbnej, aby wypróbować wszystkie funkcje.
  2. Temporary License – poproś o tymczasowy klucz do rozszerzonych testów.
  3. Purchase – uzyskaj pełną licencję do wdrożeń produkcyjnych.

Podstawowa inicjalizacja i konfiguracja

Redactor jest klasą podstawową, która stosuje reguły redakcji do dokumentów.
Aby rozpocząć, odwołaj się do przestrzeni nazw Redaction i utwórz instancję Redactor:

using GroupDocs.Redaction;

Przewodnik implementacji

Omówimy dwie podstawowe możliwości: aktualizację zindeksowanych dokumentów oraz utrzymanie kontroli wersji indeksu.

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

Index reprezentuje kolekcję przeszukiwalną przechowywaną na dysku.
UpdateOptions konfiguruje sposób wykonywania przyrostowych aktualizacji (np. liczba wątków).
UpdateDocument wprowadza zmiany w pojedynczym dokumencie, a Commit finalizuje wszystkie oczekujące aktualizacje.

Bezpośrednia odpowiedź (40‑70 słów):
Utwórz obiekt Index wskazujący na folder indeksu, użyj UpdateOptions, aby określić liczbę wątków, wywołaj UpdateDocument dla każdego zmienionego pliku, a na końcu wywołaj Commit, aby zapisać zmiany. To przyrostowe podejście aktualizuje tylko zmodyfikowane części, utrzymując indeks aktualnym bez pełnego przebudowania.

Funkcja 1: Aktualizacja zindeksowanych dokumentów

Przegląd

Aktualizacja zindeksowanych dokumentów zapewnia, że wyniki wyszukiwania odzwierciedlają najnowszą treść, nawet gdy dokumenty są edytowane lub zastępowane.

Krok 1: Utwórz indeks

Klasa Index jest obiektem najwyższego poziomu, który reprezentuje przeszukiwalną kolekcję na dysku.

string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/UpdateIndexedDocuments/Index";
Index index = new Index(indexFolder);
Krok 2: Dodaj dokumenty do indeksu

Dodaj pliki z katalogu; biblioteka automatycznie wyodrębnia tekst przeszukiwalny.

string documentFolder = @"YOUR_DOCUMENT_DIRECTORY/Documents";
index.Add(documentFolder);
Krok 3: Wyszukaj i zaktualizuj

Wykonaj zapytanie, zmodyfikuj plik źródłowy, a następnie wywołaj UpdateDocument z tymi samymi UpdateOptions, które były użyte podczas indeksowania.

string query = "son";
SearchResult searchResult = index.Search(query);

UpdateOptions options = new UpdateOptions { Threads = 2 };
index.Update(options);

SearchResult searchResult2 = index.Search(query);

Dlaczego to działa: Ustawiając Threads = 2, aktualizacja wykorzystuje dwa rdzenie CPU, skracając czas przetwarzania mniej więcej o połowę na maszynie czterordzeniowej.

Jak utrzymać kontrolę wersji indeksu?

IndexUpdater jest klasą pomocniczą, która aktualizuje starsze formaty indeksu do najnowszej wersji obsługiwanej przez bibliotekę.

Bezpośrednia odpowiedź (40‑70 słów):
Utwórz instancję IndexUpdater z ścieżką do istniejącego indeksu, wywołaj CanUpdateVersion(), aby zweryfikować kompatybilność, a następnie uruchom UpdateVersion(), jeśli to konieczne. Po aktualizacji załaduj indeks w nowym formacie i wykonaj wyszukiwanie, aby potwierdzić, że wszystko działa. To zapewnia płynne przejście pomiędzy wersjami biblioteki.

Funkcja 2: Utrzymanie kontroli wersji indeksu

Przegląd

Kontrola wersji zapewnia, że starsze indeksy pozostają przeszukiwalne po aktualizacji biblioteki.

Krok 1: Sprawdź kompatybilność

IndexUpdater sprawdza, czy bieżący indeks może zostać zaktualizowany do najnowszego formatu.

string oldIndexFolder = @"YOUR_DOCUMENT_DIRECTORY/OldIndex";
string sourceIndexFolder = @"YOUR_DOCUMENT_DIRECTORY/UpdateIndexVersion/IndexS";
string targetIndexFolder = @"YOUR_DOCUMENT_DIRECTORY/UpdateIndexVersion/IndexT";

IndexUpdater updater = new IndexUpdater();
if (updater.CanUpdateVersion(sourceIndexFolder))
{
    VersionUpdateResult result = updater.UpdateVersion(sourceIndexFolder, targetIndexFolder);
}
Krok 2: Załaduj i wyszukaj

Po aktualizacji załaduj odświeżony indeks i wykonaj zapytanie, aby zweryfikować integralność.

Index index = new Index(targetIndexFolder);
string query = "eagerness";
SearchResult searchResult = index.Search(query);

Dlaczego to działa: Mechanizm CanUpdateVersion zapobiega wyjątkom w czasie wykonywania spowodowanym niezgodnością schematów indeksu, zapewniając bezpieczną ścieżkę aktualizacji.

Praktyczne zastosowania

Scenariusze rzeczywiste, w których how to update index ma znaczenie:

  1. Legal Document Management – Szybko ponownie indeksuj umowy po zmianach, jednocześnie redagując poufne klauzule.
  2. Corporate Archives – Utrzymuj historyczne rekordy przeszukiwalne bez ponownego przetwarzania milionów plików.
  3. Content Management Systems (CMS) – Wprowadzaj przyrostowe aktualizacje do indeksu wyszukiwania, gdy autorzy publikują nowe artykuły.

Rozważania dotyczące wydajności

  • Threading Options: Dostosuj UpdateOptions.Threads w zależności od liczby rdzeni CPU; więcej wątków zwiększa przepustowość, ale podnosi zużycie pamięci.
  • Resource Usage: Monitoruj pamięć RAM; biblioteka strumieniuje pliki, więc skoki pamięci są minimalne nawet przy PDF‑ach o 500 stronach.
  • Best Practices: Planuj regularne przyrostowe aktualizacje i usuwaj przestarzałe wersje indeksu, aby utrzymać optymalną wydajność.

Częste problemy i rozwiązania

ProblemPrzyczynaRozwiązanie
Index not foundNieprawidłowa ścieżka folderuSprawdź, czy konstruktor Index wskazuje prawidłowy katalog.
Version mismatch errorUżywanie starszego indeksu z nowszą bibliotekąUruchom proces IndexUpdater przed normalnym indeksowaniem.
Redaction not appliedReguły redakcji załadowane po indeksowaniuZastosuj redakcję przed dodaniem dokumentów do indeksu.

Najczęściej zadawane pytania

Q: Jaka jest różnica między UpdateDocument a Rebuild?
A: UpdateDocument modyfikuje tylko zmienione pliki, natomiast Rebuild odtwarza cały indeks od podstaw, zużywając więcej czasu i zasobów.

Q: Czy mogę aktualizować wiele dokumentów równolegle?
A: Tak, ustaw UpdateOptions.Threads na liczbę rdzeni, które chcesz wykorzystać; biblioteka obsługuje równoległe przetwarzanie wewnętrznie.

Q: Czy GroupDocs.Search obsługuje zaszyfrowane pliki PDF?
A: Zdecydowanie. Podaj hasło za pomocą SearchOptions.Password podczas ładowania dokumentu.

Q: Jak zweryfikować, że redakcja zakończyła się sukcesem przed indeksowaniem?
A: Wywołaj Redactor.Apply() i sprawdź rozmiar pliku wyjściowego; zmniejszony rozmiar często wskazuje na udaną redakcję.

Q: Jakie wersje .NET są oficjalnie wspierane?
A: .NET Framework 4.5+, .NET Core 3.1+, .NET 5 oraz .NET 6+.

Zakończenie

Masz teraz kompletny, gotowy do produkcji przewodnik dotyczący how to update index przy użyciu GroupDocs.Search oraz utrzymania wersji indeksów kompatybilnych z GroupDocs.Redaction dla .NET. Postępując zgodnie z powyższymi krokami, możesz zapewnić, że warstwa wyszukiwania pozostaje szybka, dokładna i zgodna z przepisami o ochronie prywatności danych.

Kolejne kroki:

  • Eksperymentuj z różnymi ustawieniami Threads, aby znaleźć optymalny punkt dla swojego sprzętu.
  • Zbadaj zaawansowane wzorce redakcji (np. usuwanie numerów SSN oparte na wyrażeniach regularnych) przed indeksowaniem.
  • Zintegruj procedurę aktualizacji indeksu z Twoim pipeline CI/CD, aby uzyskać w pełni zautomatyzowane zarządzanie dokumentami.

Ostatnia aktualizacja: 2026-06-07
Testowano z: GroupDocs.Search 23.10 dla .NET, GroupDocs.Redaction 23.10 dla .NET
Autor: GroupDocs

Zasoby

Powiązane samouczki