Sie können das Schema strukturierte Daten und unstrukturierte Daten mit Metadaten aktualisieren, die ein Schema unterstützen.
Sie können das Schema in der Google Cloud Console oder mit der
schemas.patch API-Methode aktualisieren.
Sie können neue Felder hinzufügen, indexierbare, suchbare und abrufbare Anmerkungen für ein Feld ändern oder ein Feld als Schlüsselattribut markieren, z. B. title, uri und description.
Schema aktualisieren
Sie können Ihr Schema in der Google Cloud Console oder über die API aktualisieren.
Console
So aktualisieren Sie ein Schema in der Google Cloud Console:
Lesen Sie den Abschnitt Anforderungen und Einschränkungen, um zu prüfen , ob Ihre Schemaaktualisierung gültig ist.
Wenn Sie Feldanmerkungen aktualisieren (Felder als indexierbar, abrufbar, dynamisch facettierbar, suchbar oder vervollständigbar festlegen), lesen Sie den Abschnitt Feldeinstellungen konfigurieren, um die Einschränkungen und Anforderungen für jeden Anmerkungstyp zu prüfen.
Prüfen Sie, ob die Datenaufnahme abgeschlossen ist. Andernfalls ist das Schema möglicherweise noch nicht zur Bearbeitung verfügbar.
Rufen Sie in der Google Cloud Console die Seite Gemini Enterprise auf.
Klicken Sie im Navigationsmenü auf Datenspeicher.
Klicken Sie in der Spalte Name auf den Datenspeicher mit dem Schema, das Sie aktualisieren möchten.
Klicken Sie auf den Tab Schema , um das Schema für Ihre Daten aufzurufen.
Dieser Tab ist möglicherweise leer, wenn Sie die Felder zum ersten Mal bearbeiten.
Klicken Sie auf Bearbeiten.
Aktualisieren Sie Ihr Schema:
Schlüsselattribute zuordnen:Wählen Sie in der Spalte Schlüsselattribute Ihres Schemas ein Schlüsselattribut aus, um ein Feld zuzuordnen. Wenn ein Feld mit dem Namen
detailsbeispielsweise immer die Beschreibung eines Dokuments enthält, ordnen Sie dieses Feld dem Schlüsselattribut Description zu.Anzahl der Dimensionen aktualisieren (erweitert): Sie können diese Einstellung aktualisieren, wenn Sie benutzerdefinierte Vektoreinbettungen mit Gemini Enterprise verwenden. Weitere Informationen finden Sie unter Benutzerdefinierte Einbettungen verwenden in der Dokumentation zu Agent Search.
Feldanmerkungen aktualisieren:Wenn Sie Anmerkungen für ein Feld aktualisieren möchten, wählen Sie die Anmerkungseinstellung eines Felds aus oder heben Sie die Auswahl auf. Verfügbare Anmerkungen sind Abrufbar, Indexierbar, Dynamisch facettierbar, Suchbar und Vervollständigbar. Für einige Feldeinstellungen gelten Einschränkungen. Unter Feldeinstellungen konfigurieren finden Sie Beschreibungen und Anforderungen für jeden Anmerkungstyp.
Neues Feld hinzufügen:Wenn Sie Ihrem Schema neue Felder hinzufügen, bevor Sie neue Dokumente mit diesen Feldern importieren, kann die Zeit verkürzt werden, die Gemini Enterprise für die Neuindexierung Ihrer Daten nach dem Import benötigt.
Klicken Sie auf Neue Felder hinzufügen , um diesen Bereich zu maximieren.
Klicken Sie auf add_box Knoten hinzufügen und geben Sie die Einstellungen für das neue Feld an.
Wenn Sie ein Array angeben möchten, setzen Sie Array auf Ja. Wenn Sie beispielsweise ein Array von Strings hinzufügen möchten, setzen Sie type auf
stringund Array aufYes.
Klicken Sie auf Speichern , um die Schemaänderungen zu übernehmen.
Wenn Sie das Schema ändern, wird eine Neuindexierung ausgelöst. Bei großen Datenspeichern kann die Neuindexierung Stunden dauern.
REST
So aktualisieren Sie Ihr Schema mit der API:
Lesen Sie die Abschnitte Anforderungen und Einschränkungen und Beispiele für Einschränkungen (nur REST), um zu prüfen, ob Ihre Schemaänderungen gültig sind.
Wenn Sie das Schema für Datenspeicher mit unstrukturierten Daten mit Metadaten aktualisieren möchten, fahren Sie mit Schritt 5 fort, um die Methode
schema.patchaufzurufen.Wenn Sie Feldanmerkungen aktualisieren (Felder als indexierbar, abrufbar, dynamisch facettierbar oder suchbar festlegen), lesen Sie den Abschnitt Feldeinstellungen konfigurieren, um die Einschränkungen und Anforderungen für jeden Anmerkungstyp zu prüfen.
Wenn Sie ein automatisch erkanntes Schema bearbeiten, prüfen Sie, ob die Datenaufnahme abgeschlossen ist. Andernfalls ist das Schema möglicherweise noch nicht zur Bearbeitung verfügbar.
Suchen Sie nach Ihrer Datenspeicher-ID. Wenn Sie die ID Ihres Datenspeichers bereits haben, fahren Sie mit dem nächsten Schritt fort.
Rufen Sie in der Google Cloud Console die Seite Gemini Enterprise auf und klicken Sie im Navigationsmenü auf Datenspeicher.
Rufen Sie die Seite Datenspeicher auf.
Klicken Sie auf den Namen des Datenspeichers.
Rufen Sie auf der Datenseite Ihres Datenspeichers die Datenspeicher-ID ab.
Verwenden Sie die schemas.patch API-Methode, um Ihr neues JSON-Schema als JSON-Objekt bereitzustellen.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'Ersetzen Sie Folgendes:
PROJECT_ID: die Projekt-ID.DATA_STORE_ID: die ID des Datenspeichers.JSON_SCHEMA_OBJECT: Ihr neues JSON-Schema als JSON-Objekt. Beispiel:{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "uri" } } }
Optional: Überprüfen Sie das Schema, indem Sie die Schritte unter Schemadefinition ansehen ausführen.
C#
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der C# Einrichtungsanleitung in der Gemini Enterprise-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Gemini Enterprise C# API.
Richten Sie zur Authentifizierung bei Gemini Enterprise Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Go in der Gemini Enterprise-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Gemini Enterprise Go API.
Richten Sie zur Authentifizierung bei Gemini Enterprise Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Java
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Java in der Gemini Enterprise-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Gemini Enterprise Java API.
Richten Sie zur Authentifizierung bei Gemini Enterprise Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Gemini Enterprise-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Gemini Enterprise Python API.
Richten Sie zur Authentifizierung bei Gemini Enterprise Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Ruby
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Ruby in der Gemini Enterprise-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Gemini Enterprise Ruby API.
Richten Sie zur Authentifizierung bei Gemini Enterprise Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter ADC für eine lokale Entwicklungsumgebung einrichten.
Anforderungen und Einschränkungen
Wenn Sie ein Schema aktualisieren, muss das neue Schema abwärtskompatibel mit dem Schema sein, das Sie aktualisieren. Wenn Sie ein Schema mit einem neuen Schema aktualisieren möchten, das nicht abwärtskompatibel ist, müssen Sie alle Dokumente im Datenspeicher löschen, das Schema löschen und ein neues Schema erstellen.
Wenn Sie ein Schema aktualisieren, wird eine Neuindexierung aller Dokumente ausgelöst. Die Neuindexierung eines großen Datenspeichers kann Stunden oder Tage dauern.
Schemaaktualisierungen unterstützen Folgendes nicht:
- Ändern eines Feldtyps Bei einer Schemaaktualisierung kann der Typ des Felds nicht geändert werden. Ein Feld, das
integerzugeordnet ist, kann beispielsweise nicht instringgeändert werden. - Entfernen eines Felds Nachdem ein Feld definiert wurde, kann es nicht mehr entfernt werden. Sie können weiterhin neue Felder hinzufügen, aber ein vorhandenes Feld kann nicht entfernt werden.
Beispiele für Einschränkungen (nur REST)
In diesem Abschnitt finden Sie Beispiele für gültige und ungültige Arten von Schemaaktualisierungen. In diesen Beispielen wird das folgende JSON-Beispielschema verwendet:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string",
"keyPropertyMapping": "description"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"keyPropertyMapping": "category"
}
}
}
}
Beispiele für unterstützte Aktualisierungen
Die folgenden Aktualisierungen des Beispielschemas werden unterstützt.
Feld hinzufügen In diesem Beispiel wurde dem Schema das Feld
properties.urihinzugefügt.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { // Added field. This is supported. "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }Schlüsselattributanmerkungen für
title,descriptionoderurihinzufügen oder entfernen. In diesem Beispiel wurdekeyPropertyMappingdem Feldtitlehinzugefügt.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" // Added "keyPropertyMapping". This is supported. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Beispiele für ungültige Schemaaktualisierungen
Die folgenden Aktualisierungen des Beispielschemas werden nicht unterstützt.
Ändern eines Feldtyps In diesem Beispiel wurde der Typ des Felds
titlevon „string“ in „number“ geändert. Das wird nicht unterstützt.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "number" // Changed from string. Not allowed. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }Entfernen eines Felds In diesem Beispiel wurde das Feld
titleentfernt. Das wird nicht unterstützt.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { // "title" is removed. Not allowed. "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Nächste Schritte
- Schemadefinition für strukturierte Daten ansehen
- Schema für strukturierte Daten löschen
- Suchergebnisse in der Vorschau ansehen