Sie können das Schema für 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 API-Methode schemas.patch aktualisieren.
Sie können das Schema aktualisieren, indem Sie neue Felder hinzufügen, die Anmerkungen „Indexierbar“, „Suchbar“ und „Abrufbar“ 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:
Sehen Sie sich den Abschnitt Anforderungen und Einschränkungen an, um zu prüfen, ob Ihre Schemaaktualisierung gültig ist.
Wenn Sie Feldanmerkungen aktualisieren (Felder als indexierbar, abrufbar, dynamisch filterbar, suchbar oder vervollständigbar festlegen), lesen Sie sich die Einschränkungen und Anforderungen für jeden Anmerkungstyp unter Feldeinstellungen konfigurieren durch.
Prüfen Sie, ob Sie die Datenaufnahme abgeschlossen haben. 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.
Schema aktualisieren:
Schlüsselattribute zuordnen:Wählen Sie in der Spalte Schlüsselattribute Ihres Schemas ein Schlüsselattribut aus, dem ein Feld zugeordnet werden soll. Wenn beispielsweise ein Feld mit dem Namen
detailsimmer die Beschreibung eines Dokuments enthält, ordnen Sie dieses Feld der Schlüssel-Property 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 in der Vertex AI Search-Dokumentation unter Benutzerdefinierte Einbettungen verwenden.
Feldanmerkungen aktualisieren:Wenn Sie die Anmerkungen für ein Feld aktualisieren möchten, wählen Sie die Anmerkungseinstellung des Felds aus oder heben Sie die Auswahl auf. Die verfügbaren Anmerkungen sind Abrufbar, Indexierbar, Als dynamisches Attribut verwendbar, Suchbar und Vervollständigbar. Für einige Feldeinstellungen gelten Einschränkungen. Hier finden Sie Beschreibungen und Anforderungen für die einzelnen Annotationstypen.
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 den 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 String-Array hinzufügen möchten, legen Sie type auf
stringund Array aufYesfest.
Klicken Sie auf Speichern, um die Schemaänderungen zu übernehmen.
Das Ändern des Schemas löst eine Neuindexierung aus. Bei großen Datenspeichern kann die Neuindexierung Stunden dauern.
REST
So aktualisieren Sie das Schema mit der API:
Sehen Sie sich die Abschnitte Anforderungen und Einschränkungen und Beispiele für Einschränkungen (nur REST) an, 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
schema.patch-Methode aufzurufen.Wenn Sie Feldanmerkungen aktualisieren (Felder als indexierbar, abrufbar, dynamisch als Attribut verwendbar oder suchbar festlegen), lesen Sie den Abschnitt Feldeinstellungen konfigurieren, um die Einschränkungen und Anforderungen für jeden Anmerkungstyp zu erfahren.
Wenn Sie ein automatisch erkanntes Schema bearbeiten, muss die Datenerfassung abgeschlossen sein. 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 API-Methode schemas.patch, 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 Einrichtungsanleitung für C# 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
Achten Sie beim Aktualisieren eines Schemas darauf, dass das neue Schema abwärtskompatibel mit dem Schema ist, 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 und das Schema löschen und ein neues Schema erstellen.
Wenn Sie ein Schema aktualisieren, werden alle Dokumente neu indexiert. Das Neuindexieren eines großen Datenspeichers kann Stunden oder Tage dauern.
Schemaaktualisierungen unterstützen Folgendes nicht:
- Feldtyp ändern Bei einer Schemaaktualisierung kann der Typ des Felds nicht geändert werden. Ein Feld, das
integerzugeordnet ist, kann beispielsweise nicht instringgeändert werden. - Feld entfernen Nachdem ein Feld definiert wurde, kann es nicht mehr entfernt werden. Sie können weiterhin neue Felder hinzufügen, aber keine vorhandenen Felder entfernen.
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-Schema 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üsselattribute 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.
Feldtyp ändern In diesem Beispiel wurde der Typ des Felds
titlevon „string“ in „number“ geändert. Dies 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" } } } }Feld entfernen In diesem Beispiel wurde das Feld
titleentfernt. Dies 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