Metadaten zu Object Storage-Dateien für die Suchfilterung hinzufügen

Sie können Metadaten zu Object Storage-Dateien hinzufügen, bevor Sie sie mit einem Vektorspeicher synchronisieren. Metadaten verbessern den Abruf, indem semantische und hybride Suchen Ergebnisse nach relevanten Attributen filtern.

Beispiel: Sie können Metadaten wie Veröffentlichungsjahr, Titel, Thema, Abteilung, Produktbereich oder Dokumenttyp hinzufügen. Nachdem die Dateien synchronisiert wurden, können diese Metadatenfelder verwendet werden, um die Suchergebnisse auf einen bestimmten Inhaltsbereich einzugrenzen.

Metadaten sind optional. Wenn jedoch Metadaten für die Suchfilterung verfügbar sein sollen, fügen Sie die Metadaten hinzu oder aktualisieren Sie sie, bevor Sie die Datensynchronisierung ausführen. Nach einer Synchronisierung hinzugefügte Metadaten sind nur dann in dieser Synchronisierung enthalten, wenn Sie die Datensynchronisierung erneut ausführen.

Dieses Thema gilt für Vektorspeicher, die unstrukturierte Daten aus Object Storage synchronisieren.

Hinweis

Fügen Sie Metadaten hinzu, oder aktualisieren Sie sie, bevor Sie die Datensynchronisierung ausführen. Metadaten, die nach einer Synchronisierung hinzugefügt wurden, sind nicht in dieser Synchronisierung enthalten.

Funktionsweise von Metadaten

Metadaten werden als Schlüssel/Wert-Paare definiert. Um Metadaten mit Object Storage-Dateien zu verwenden, definieren Sie zunächst die Metadatenfelder in einer Schemadatei. Anschließend verknüpfen Sie Dateien im Bucket mit Metadatenwerten.

Für alle Object Storage-Metadatenmethoden müssen Sie eine Metadatenschemadatei mit dem Namen _metadata_schema.json auf der Root-Ebene des Object Storage-Buckets erstellen. Das Schema definiert die Metadatenschlüssel, die der Service erwarten kann, und den Werttyp für jeden Schlüssel.

Wenn die Datei _metadata_schema.json nicht vorhanden ist, werden keine Metadaten für Dateien im Bucket berechnet.

Jedes Metadatenfeld hat einen Namen und einen Typ. Folgende Metadatentypen werden unterstützt:

  • integer
  • string
  • list_of_string
  • double

Workflowüberblick

Verwenden Sie den folgenden Workflow, um Metadaten vorzubereiten, bevor Sie Dateien mit einem Vektorspeicher synchronisieren:

  1. Erstellen Sie in einem Texteditor eine Metadatenschemadatei mit dem Namen _metadata_schema.json.
  2. Definieren Sie die Metadatenfelder und Werttypen im JSON-Format.
  3. Laden Sie _metadata_schema.json auf die Stammebene des Objektspeicher-Buckets hoch, der die zu synchronisierenden Dateien enthält.
  4. So verknüpfen Sie Metadatenwerte mit Dateien:
    • Wenden Sie allgemeine Metadaten auf alle Dateien im Bucket an.
    • Definieren Sie Metadaten für mehrere Dateien in einer JSON-Datei.
    • Definieren Sie Metadaten in einer separaten JSON-Datei für jede Datendatei.
    • Fügen Sie Metadaten mit Object Storage-Metadateneigenschaften hinzu.
  5. Laden Sie die Metadatendateien an den richtigen Speicherort im Objektspeicher-Bucket hoch.
  6. Datensynchronisierung für den Vektorspeicher ausführen.

Beispiel für Metadatenschema

Erstellen Sie eine Metadaten-Schemadatei mit dem Namen _metadata_schema.json, und speichern Sie sie auf der Root-Ebene des Object Storage-Buckets.

{
  "metadataSchema": [
    {
      "name": "publication_year",
      "type": "integer"
    },
    {
      "name": "title",
      "type": "string"
    },
    {
      "name": "topic",
      "type": "list_of_string"
    },
    {
      "name": "rating",
      "type": "double"
    }
  ]
}

Die Metadatennamen, die Sie in Metadatendateien verwenden, müssen mit den im Schema definierten Namen übereinstimmen.

Metadatenmethoden für Object Storage-Dateien

In der folgenden Tabelle werden die unterstützten Methoden zum Hinzufügen von Metadaten zu Dateien in Object Storage beschrieben. Dazu gehört, wo die einzelnen Metadatendateien oder Header erstellt werden und wann die einzelnen Methoden verwendet werden.

Methode Dateiname und Verzeichnis Anwendungsfall
Metadatenschema definieren Erstellen Sie _metadata_schema.json auf der Stammebene des Object Storage-Buckets. Für alle Methoden der Object Storage-Metadatendatei erforderlich. Das Schema definiert die unterstützten Metadatenschlüssel und Werttypen.
Gemeinsame Metadaten auf alle Dateien in einem Bucket anwenden Erstellen Sie _common.metadata.json auf der Stammebene des Object Storage-Buckets. Verwenden Sie diese Option, wenn dieselben Metadaten für alle Dateien im Bucket gelten. Mit dieser Methode wird das Duplizieren von Metadaten zwischen Dateien vermieden.
Metadaten für mehrere Dateien in einer JSON-Datei definieren Erstellen Sie _all.metadata.json auf der Stammebene des Object Storage-Buckets. Verwenden Sie diese Option, wenn Sie viele Dateien haben und Metadaten für alle Dateien in einer JSON-Datei verwalten möchten, anstatt eine Metadatendatei pro Datei zu erstellen.
Metadaten für eine Datei definieren Erstellen Sie <file-name>.metadata.json auf derselben Ebene wie die entsprechende Datendatei. Der Wert <file-name> muss mit dem Namen der Datendatei übereinstimmen. Verwenden Sie diese Option, wenn sich Metadaten je nach Datei unterscheiden und eine geringe Anzahl von Dateien vorhanden ist oder wenn Sie die Erstellung von Metadatendateien automatisieren.
Metadaten als Object Storage-Header hinzufügen Fügen Sie Metadaten mit den Object Storage-Metadateneigenschaften jeder Datei hinzu. Nur verwenden, wenn eine geringe Anzahl von Metadateneigenschaften vorhanden ist. JSON-Metadatendateien werden empfohlen, da sie einfacher zu aktualisieren und zu verwalten sind.

Beispiel für Speicherort von Metadatendateien

Das folgende Beispiel zeigt, wo Metadatendateien in einem Objektspeicher-Bucket gespeichert werden.

bucket_root/
  _metadata_schema.json
  _common.metadata.json
  _all.metadata.json
  file_0.pdf
  file_0.pdf.metadata.json
  folder_1/
    file_1.pdf
    file_1.pdf.metadata.json
  folder_2/
    file_2.pdf
    file_2.pdf.metadata.json

Bei dateispezifischen Metadaten muss die Metadatendatei auf derselben Ebene gespeichert werden wie die entsprechende Datendatei.

Beispiel: Die Datendatei wird gespeichert als:

folder_1/file_1.pdf

Die Metadatendatei muss gespeichert werden als:

folder_1/file_1.pdf.metadata.json

Beispiele für Metadaten-JSON-Dateien

Gemeinsame Metadaten für alle Dateien

Erstellen Sie _common.metadata.json auf der Root-Ebene des Buckets, um dieselben Metadaten auf alle Dateien im Bucket anzuwenden.

Beispiel:

{
  "metadataAttributes": {
    "publication_year": 2020,
    "topic": [
      "cooking",
      "health",
      "gardening"
    ],
    "rating": 3.3
  }
}

Metadaten für mehrere Dateien

Erstellen Sie _all.metadata.json auf der Root-Ebene des Buckets, um Metadaten für mehrere Dateien in einer JSON-Datei zu definieren.

Beispiel:

{
  "folder_1/file_1.pdf": {
    "metadataAttributes": {
      "publication_year": 2020,
      "title": "Healthy Cooking Guide",
      "topic": [
        "cooking",
        "health"
      ],
      "rating": 4.5
    }
  },
  "folder_2/file_2.pdf": {
    "metadataAttributes": {
      "publication_year": 2022,
      "title": "Gardening Basics",
      "topic": [
        "gardening"
      ],
      "rating": 4.0
    }
  }
}

Metadaten für eine Datei

Erstellen Sie <file-name>.metadata.json auf derselben Ebene wie die entsprechende Datendatei.

Beispiel: Um Metadaten für file_1.pdf zu definieren, erstellen Sie eine Datei namens file_1.pdf.metadata.json.

Beispiel:

{
  "metadataAttributes": {
    "publication_year": 2020,
    "title": "Healthy Cooking Guide",
    "topic": [
      "cooking",
      "health"
    ],
    "rating": 4.5
  }
}

Metadatenlimits

Die folgenden Grenzwerte gelten für Metadaten, die für die Suchfilterung verwendet werden.

Beschreibung Limit
Maximale Anzahl der Einträge in _all.metadata.json 10.000
Maximale Anzahl Metadatenfelder, die für jede Datei angegeben werden können 20
Maximale Anzahl der Elemente in einem list_of_string-Typ 10
Maximale Länge jedes Elements in einem list_of_string-Typ 50 characters
Maximale Länge eines Metadatenschlüssels 25 characters
Maximale Länge eines Metadatenwertes 50 characters

Metadaten mit Data Sync verwenden

Fügen Sie das Metadatenschema und die Metadatendateien hinzu, bevor Sie Daten mit dem Vektorspeicher synchronisieren.

Nachdem die Dateien synchronisiert wurden, stehen die Metadaten für die Suchfilterung zur Verfügung. Wenn Sie nach der Synchronisierung Metadaten hinzufügen oder ändern, führen Sie die Datensynchronisierung erneut aus, sodass die aktualisierten Metadaten im Vektorspeicher enthalten sind.

Informationen zum Synchronisieren von Dateien aus Object Storage finden Sie unter Daten mit einem Vektorspeicher synchronisieren.