GroupDocs.Search für .NET 26.10 ist jetzt verfügbar. Dies ist ein großes Release: Das Indexformat wurde neu gestaltet, sodass Indizes weniger Speicherplatz auf der Festplatte benötigen, nur die Hälfte des RAMs verbrauchen und 2‑ bis 4‑mal schneller geöffnet werden können. Suche, Löschung, Optimierung und Bildsuche werden mehrfach bis zu hundertfach beschleunigt, Suchvorgänge warten nicht mehr auf die Indizierung, und Indexdaten sind durch Prüfsummen und atomare Updates geschützt.
Bestehende Indizes, die mit den Versionen 22.7–26.8 erstellt wurden, werden ohne erneutes Indizieren in das neue Format konvertiert. Das Release enthält 22 Änderungen: 4 neue Funktionen, 15 Verbesserungen und 3 Fehlerbehebungen.
Leistungs‑Highlights
Die meisten Verbesserungen steigen mit der Größe des Index und der Anzahl seiner Segmente.
| Was | Verbesserung in 26.10 |
|---|---|
| RAM, das ein geladener Index benötigt | 2‑mal weniger |
| Öffnen eines Index | 2‑ bis 4‑mal schneller |
| Indexgröße auf Festplatte | Wächst proportional zu den indizierten Daten; je größer der Index, desto größer die Einsparung |
| Suche nach einem Wort in großen Indizes | Bis zu 2‑mal schneller; seltene Wörter 10‑ bis 40‑mal schneller |
| Unscharfe Suche in großen Indizes | 2,5‑ bis 5‑mal schneller |
| Wildcard‑Suche in großen Indizes | 2,5‑ bis 3‑mal schneller |
| Wildcard-, reguläre‑Ausdruck-, numerische‑Bereichs‑ und unscharfe Suche nach Chunks | 7‑ bis 150‑mal schneller |
| Datumbereichssuche | 2‑ bis 27‑mal schneller |
| Löschen von Dokumenten | Hundertfach schneller, 4‑mal weniger Speicher, kein zusätzlicher Festplattenspeicher |
| Indexoptimierung | 4‑mal schneller, 4‑mal weniger Speicher |
| Spitzen‑RAM während der Indizierung | 2‑mal weniger |
| Abrufen des gespeicherten Textes eines Dokuments | Bis zu 15‑mal schneller |
| Bildsuchdaten | 2,9‑mal weniger Speicher, 6,6‑mal schneller geladen, 100‑mal schneller gespeichert; Reverse‑Image‑Search bis zu 1,8‑mal schneller |
| Suche, während der Index modifiziert wird | Nicht mehr blockiert |
| Indexzuverlässigkeit | Prüfsummen und atomare Änderungen; unterbrochene Vorgänge werden abgeschlossen oder zurückgerollt |
| Such‑Threads | Alle Prozessorkerne standardmäßig; können jederzeit geändert werden |
Neuigkeiten in diesem Release
| Schlüssel | Zusammenfassung | Kategorie |
|---|---|---|
| SEARCHNET-3665 | Implementierung der Möglichkeit, die Anzahl der Such‑Threads jederzeit zu ändern | Funktion |
| SEARCHNET-3666 | Implementierung einer Option zum Ersetzen nicht gepaarter Surrogat‑Zeichen | Funktion |
| SEARCHNET-3667 | Implementierung einer Option zum Überspringen von Begriffen, die ausschließlich aus gemischten Zeichen bestehen | Funktion |
| SEARCHNET-3668 | Implementierung der Indexversions‑Aktualisierung auf das neue Indexformat ohne erneutes Indizieren der Dokumente | Funktion |
| SEARCHNET-3669 | Optimierung des Festplattenplatzverbrauchs eines Index | Verbesserung |
| SEARCHNET-3670 | Optimierung des RAM‑Verbrauchs eines geladenen Index | Verbesserung |
| SEARCHNET-3671 | Optimierung der Index‑Ladegeschwindigkeit | Verbesserung |
| SEARCHNET-3672 | Optimierung der Suchgeschwindigkeit in großen Indizes | Verbesserung |
| SEARCHNET-3673 | Optimierung der unscharfen Suche | Verbesserung |
| SEARCHNET-3674 | Optimierung der Wildcard‑Suche | Verbesserung |
| SEARCHNET-3675 | Optimierung des Löschens und Aktualisierens von Dokumenten | Verbesserung |
| SEARCHNET-3676 | Optimierung des Index‑Optimierungs‑Vorgangs | Verbesserung |
| SEARCHNET-3677 | Ermöglicht Suche, während der Index modifiziert wird | Verbesserung |
| SEARCHNET-3678 | Verbesserung der Indexzuverlässigkeit | Verbesserung |
| SEARCHNET-3679 | Optimierung des Speicherverbrauchs während der Indizierung | Verbesserung |
| SEARCHNET-3680 | Optimierung des Abrufs von Dokumenttext | Verbesserung |
| SEARCHNET-3681 | Optimierung der Bildsuche | Verbesserung |
| SEARCHNET-3682 | Einheitliche Behandlung der Groß‑/Kleinschreibung auf allen Plattformen | Verbesserung |
| SEARCHNET-3688 | Optimierung der Suche nach Chunks | Verbesserung |
| SEARCHNET-3683 | Korrektur der Standardanzahl von Such‑Threads | Fehlerbehebung |
| SEARCHNET-3684 | Verhinderung inkonsistenter Indizierung nach Änderung der Begriffsdictionaries | Fehlerbehebung |
| SEARCHNET-3685 | Verhinderung des Zusammenführens von Indizes, die Text unterschiedlich verarbeiten | Fehlerbehebung |
Wichtige Funktionen
Indexspeicherung und Zuverlässigkeit
- Die Indexgröße wächst jetzt proportional zu den indizierten Daten, sodass große Indizes mit vielen Segmenten am meisten Platz sparen.
- Ein geladener Index benötigt nur die Hälfte des RAMs, und das Öffnen eines Index ist 2‑ bis 4‑mal schneller.
- Indexdaten sind durch Prüfsummen geschützt, und alle Änderungen werden atomar angewendet. Wird ein Vorgang durch einen Fehler, Stromausfall oder Prozessende unterbrochen, bleibt der Index im vorherigen konsistenten Zustand.
Suche
- Nur die Segmente, die die Abfragebegriffe enthalten, werden gelesen, was Wort‑, unscharfe, Wildcard‑ und Chunk‑Suche beschleunigt.
- Die Suche nutzt standardmäßig alle Prozessorkerne, und die Anzahl der Threads kann jederzeit über
IndexSettings.SearchThreadsgeändert werden. - Suchvorgänge und index‑modifizierende Operationen (Indizierung, Aktualisierung, Löschung, Zusammenführen, Optimierung) blockieren sich nicht mehr gegenseitig. Jede Suche arbeitet mit einem konsistenten Schnappschuss des Index.
Indizierung und Wartung
- Das Löschen von Dokumenten schreibt den Index nicht mehr neu: Dokumente werden sofort aus der Suche ausgeschlossen und bei der Optimierung physisch entfernt.
- Die Indexoptimierung ist 4‑mal schneller und verbraucht 4‑mal weniger Speicher; sehr große Indizes werden in mehrere Segmente begrenzter Größe optimiert.
- Die Indizierung verbraucht etwa die Hälfte des maximalen RAMs.
Textverarbeitung
- Die Groß‑/Kleinschreibung wird auf .NET Framework und .NET identisch behandelt, sodass die Suchergebnisse nicht von der Plattform abhängen.
- Nicht gepaarte Surrogat‑Zeichen werden durch U+FFFD ersetzt, anstatt entfernt zu werden, und Begriffe, die ausschließlich aus gemischten Zeichen bestehen, werden nicht mehr indiziert.
Änderungen der öffentlichen API
Zwei Eigenschaften wurden zur Klasse GroupDocs.Search.IndexSettings hinzugefügt:
Boolean ReplaceUnpairedSurrogates– ersetzt nicht gepaarte UTF‑16‑Surrogat‑Zeichen durch das Unicode‑Ersatzzeichen (U+FFFD). Standardmäßig aktiviert.Boolean SkipBlendedOnlyTerms– schließt Begriffe, die ausschließlich aus gemischten Zeichen bestehen, von der Indizierung aus. Standardmäßig aktiviert.
Beide Einstellungen sind fest, sobald ein Index erstellt wird.
Codebeispiel
Das folgende Beispiel aktualisiert einen mit einer früheren Version erstellten Index auf das neue Indexformat, ohne die Dokumente erneut zu indizieren.
string sourceIndexFolder = @"c:\MyOldIndex\"; // Specify path to the index of a previous version
string targetIndexFolder = @"c:\MyNewIndex\"; // Specify path to the folder for the updated index
IndexUpdater updater = new IndexUpdater(); // Creating an index updater
if (updater.CanUpdateVersion(sourceIndexFolder)) // Checking whether the index version can be updated
{
VersionUpdateResult result = updater.UpdateVersion(sourceIndexFolder, targetIndexFolder); // Updating the index version; the source index is not changed
}
Hinweise zum Upgrade
Berücksichtigen Sie die folgenden Änderungen beim Upgrade von einer früheren Version:
- Das Indexformat hat sich geändert. Indizes früherer Versionen müssen mit der Klasse
IndexUpdaterkonvertiert werden, bevor sie geöffnet werden können. Quell‑Dokumente sind nicht erforderlich, der konvertierte Index wird in einen anderen Ordner gespeichert, und der Quell‑Index bleibt unverändert. - Begriffsdictionaries sind fest, sobald ein Index Dokumente enthält. Alphabet, Tokenisierungs‑Dictionary, Zeichenersetzungen, Stoppwörter sowie die Einstellungen
UseStopWordsundUseCharacterReplacementsmüssen vor dem ersten indizierten Dokument konfiguriert werden. Eine spätere Änderung löstInvalidOperationExceptionaus. - Inkompatible Indizes werden nicht zusammengeführt.
Index.MergewirftInvalidOperationException, wenn die zusammengeführten Indizes Text unterschiedlich in Begriffe aufteilen. - Suche ist standardmäßig multithreaded. Mit dem Standardwert
IndexSettings.SearchThreadsnutzt die Suche so viele Threads wie Prozessorkerne vorhanden sind. Um die Thread‑Anzahl zu begrenzen, setzen Sie die Eigenschaft explizit. - Zwei neue Index‑Einstellungen sind standardmäßig aktiviert. Um das frühere Verhalten beizubehalten, setzen Sie
ReplaceUnpairedSurrogatesundSkipBlendedOnlyTermsvor der Indexerstellung auffalse. - Gelöschte Dokumente werden bei der Optimierung physisch entfernt. Rufen Sie
Index.Optimizeauf, um den Speicherplatz zurückzugewinnen. - Die Anzahl der Chunks hat sich geändert. Die Chunk‑Suche liefert nicht mehr für jedes Segment einen Chunk. Durchlaufen Sie die Chunks, solange
SearchResult.NextChunkSearchTokennicht null ist, anstatt sich auf die Segmentanzahl zu verlassen.
Wie Sie das Update erhalten
NuGet
- NuGet – Installieren Sie das neueste Paket:
# Package Manager
NuGet\Install-Package GroupDocs.Search -Version 26.10.0
# .NET CLI
dotnet add package GroupDocs.Search --version 26.10.0
# Package Manager
NuGet\Install-Package GroupDocs.Search.NETFramework -Version 26.10.0
# .NET CLI
dotnet add package GroupDocs.Search.NETFramework --version 26.10.0
Direkter Download
- Direkter Download – Laden Sie die kompilierten Assemblies für .NET von der offiziellen Release‑Seite herunter:
https://releases.groupdocs.com/search/net/new-releases/groupdocs.search-for-.net-26.10-dlls-only/
https://releases.groupdocs.com/search/net/new-releases/groupdocs.search-for-.net-26.10/
Ressourcen
- Vollständige Versionshinweise – https://releases.groupdocs.com/search/net/release-notes/2026/groupdocs-search-for-net-26-10-release-notes/
- Dokumentation – https://docs.groupdocs.com/search/net/
- Codebeispiele – https://github.com/groupdocs-search/GroupDocs.Search-for-.NET/
- Kostenloses Support-Forum – https://forum.groupdocs.com/c/search/
- Verwenden Sie es von KI-Agenten – der GroupDocs.Search MCP‑Server betreibt diese Engine lokal für Claude, Cursor und Copilot: https://docs.groupdocs.com/search/mcp/ · Benötigen Sie eine Vektordatenbank, um Fragen zu einem Ordner mit Dokumenten zu stellen?