Ändern und Löschen der Erkennung mithilfe von Indexern für Azure Storage in Azure Cognitive Search

Nachdem ein erster Suchindex erstellt wurde, sollen nachfolgende Indexeraufräge vielleicht nur neue und geänderte Dokumente aufnehmen. Bei indizierten Inhalten, die aus Azure Storage stammen, erfolgt die Änderungserkennung automatisch, da Indexer das letzte Update mithilfe der integrierten Zeitstempel für Objekte und Dateien in Azure Storage nachverfolgen.

Die Änderungserkennung ist eine Standardeinstellung, die Erkennung von Löschungen hingegen nicht. Ein Indexer verfolgt das Löschen von Objekten in Datenquellen nicht nach. Um verwaiste Suchdokumente zu vermeiden, können Sie eine Strategie des „vorläufigen Löschens“ implementieren, die dazu führt, dass Suchdokumente zuerst gelöscht werden, während in einem zweiten Schritt physisch in Azure Storage gelöscht wird.

Es gibt zwei Möglichkeiten, die Strategie des vorläufigen Löschens zu implementieren:

Voraussetzungen

  • Verwenden eines Azure Storage-Indexers für Blob Storage, Table Storage, File Storage oder Data Lake Storage Gen2

  • Verwenden Sie konsistente Dokumentschlüssel und eine konsistente Dateistruktur. Das Ändern von Dokumentschlüsseln oder Verzeichnisnamen und Pfaden (gilt für ADLS Gen2) unterbricht die internen Nachverfolgungsinformationen, die von Indexern verwendet werden, um zu wissen, welcher Inhalt indiziert und wann er zuletzt indiziert wurde.

Hinweis

ADLS Gen2 ermöglicht das Umbenennen von Verzeichnissen. Wenn ein Verzeichnis umbenannt wird, werden die Zeitstempel für die Blobs in diesem Verzeichnis nicht aktualisiert. Demzufolge werden diese Blobs vom Indexer nicht neu indiziert. Wenn die Blobs in einem Verzeichnis nach einer Umbenennung des Verzeichnisses neu indiziert werden müssen, da sie nun über neue URLs verfügen, müssen Sie den LastModified-Zeitstempel für alle Blobs im Verzeichnis aktualisieren, damit der Indexer erkennt, dass diese bei einer zukünftigen Ausführung neu indiziert werden müssen. Die virtuellen Verzeichnisse in Azure Blob Storage können nicht geändert werden, sodass bei ihnen dieses Problem nicht auftritt.

Natives vorläufiges Löschen von Blobs (Vorschau)

Bei dieser Methode zum Erkennen von Löschungen ermittelt Azure Cognitive Search anhand des nativen Features zum vorläufigen Löschen von Blobs in Azure Blob Storage, ob Blobs in einen vorläufig gelöschten Zustand versetzt wurden. Wenn Blobs in diesem Zustand erkannt werden, verwendet ein Suchindexer diese Informationen, um das entsprechende Dokument aus dem Index zu entfernen.

Wichtig

Die Unterstützung für natives vorläufiges Löschen von Blobs befindet sich unter Zusätzliche Nutzungsbedingungen in der Vorschau. Dieses Feature wird durch die REST-API-Version 2020-06-30-Preview bereitgestellt. Derzeit wird das .NET SDK nicht unterstützt.

Anforderungen für natives vorläufiges Löschen

  • Aktivieren von „Vorläufiges Löschen“ für Blobs.
  • Blobs müssen sich in einem Azure Blob Storage-Container befinden. Die Cognitive Search-Richtlinie zum nativen vorläufigen Löschen von Blobs wird für Blobs aus ADLS Gen2 nicht unterstützt.
  • Dokumentschlüssel für die Dokumente in Ihrem Index müssen die entweder einer Blobeigenschaft oder Blobmetadaten zugewiesen werden.
  • Sie müssen die Vorschau-REST-API (api-version=2020-06-30-Preview) oder die Indexer-Konfiguration für die Datenquelle in Ihrem Cognitive Search-Dienst aus dem Azure-Portal verwenden, um die Unterstützung für vorläufiges Löschen zu konfigurieren.

Konfigurieren der Löscherkennung mithilfe des nativen, vorläufigen Löschens

  1. In Blobspeicher legen Sie beim Aktivieren des vorläufiges Löschens für die Aufbewahrungsrichtlinie einen Wert fest, der wesentlich höher ist als der Intervallzeitplan Ihres Indexers. Wenn ein Problem beim Ausführen des Indexers vorliegt oder eine große Anzahl von Dokumenten indiziert werden muss, steht dem Indexer viel Zeit für die endgültige Verarbeitung der vorläufig gelöschten Blobs zur Verfügung. Indexer von Azure Cognitive Suche löschen nur dann ein Dokument aus dem Index, wenn sie das Blob verarbeiten, während es sich in einem vorläufig gelöschten Zustand befindet.

  2. Legen Sie in Cognitive Search für die Datenquelle eine Richtlinie zur Erkennung des nativen vorläufigen Löschens von Blobs fest. Sie können dazu entweder das Azure-Portal oder die Vorschau-REST-API (api-version=2020-06-30-Preview) verwenden.

  1. Melden Sie sich beim Azure-Portal an.

  2. Wechseln Sie auf der Seite „Übersicht“ des Cognitive Search-Diensts zu Neue Datenquelle, einem visuellen Editor zum Festlegen einer Datenquellendefinition.

    Im folgenden Screenshot sehen Sie, wo sich dieses Feature im Portal befindet.

    Screenshot: Datenquelle des Portals.

  3. Füllen Sie im Formular Neue Datenquelle die erforderlichen Felder aus, aktivieren Sie das Kontrollkästchen Löschen nachverfolgen, und wählen Sie Vorläufigen Löschen von Blobs aus. Klicken Sie dann auf Speichern, um das Feature bei der Erstellung der Datenquelle zu aktivieren.

    Screenshot:  Datenquelle des Portals, natives vorläufiges Löschen.