Puede actualizar el esquema de cualquier dato que lo admita, como los datos estructurados, los datos de sitios web con datos estructurados u otros datos no estructurados con metadatos.
Puedes actualizar el esquema en la Google Cloud consola o mediante el método de la API schemas.patch.
Solo se puede actualizar el esquema de un sitio web a través de la API REST.
Para actualizar el esquema, puedes añadir campos nuevos, cambiar las anotaciones indexables, de búsqueda y recuperables de un campo, o marcar un campo como propiedad clave, como title, uri y description.
Antes de empezar
Antes de actualizar el esquema, familiarízate con los conceptos clave que se explican en esta sección.
Importancia de las propiedades clave
A continuación, se indican algunos motivos por los que debes asignar los campos de tu esquema a propiedades clave:
Google te recomienda que actualices tu esquema con asignaciones de propiedades clave, sobre todo para
title. De esta forma, los resultados se muestran correctamente y Vertex AI Search puede identificar información importante que le permite generar mejores resultados.En los almacenes de datos estructurados, para obtener la señal
keywordSimilarityScoreen la respuesta de búsqueda, debes actualizar el esquema para hacer lo siguiente:- Asigna los campos de texto esenciales para la concordancia de palabras clave a las propiedades de clave
titleydescription. - Actualiza la anotación de los campos de texto como
Searchable
- Asigna los campos de texto esenciales para la concordancia de palabras clave a las propiedades de clave
Requisitos
Cuando actualices un esquema, asegúrate de que el nuevo esquema sea compatible con el esquema que estás actualizando. Para actualizar un esquema con un esquema nuevo que no sea compatible con versiones anteriores, debes eliminar todos los documentos del almacén de datos, eliminar el esquema y crear uno nuevo.
Si actualizas un esquema, se volverán a indexar todos los documentos. Este proceso puede llevar tiempo y generar costes adicionales:
Hora. Volver a indexar un almacén de datos grande puede llevar horas o días.
Gasto. La reindexación puede generar costes, en función del analizador. Por ejemplo, se aplican costes a la reindexación de almacenes de datos que usan el analizador OCR o el analizador de diseño. Para obtener más información, consulta los precios de las funciones de Document AI.
Las actualizaciones de esquemas no admiten lo siguiente:
- Cambiar el tipo de un campo. Una actualización del esquema no permite cambiar el tipo del campo. Por ejemplo, un campo asignado a
integerno se puede cambiar astring. - Quitar un campo. Una vez definido, no se puede eliminar. Puedes seguir añadiendo campos, pero no puedes quitar ninguno.
Actualizar el esquema
Puedes actualizar tu esquema en la Google Cloud consola o mediante la API.
Consola
Para actualizar un esquema en la Google Cloud consola, sigue estos pasos:
Consulta la sección Requisitos y limitaciones para comprobar que la actualización del esquema sea válida.
Si vas a actualizar las anotaciones de campo (es decir, si vas a definir campos como indexables, recuperables, facetables dinámicos, aptos para búsquedas o completables), consulta las limitaciones y los requisitos de cada tipo de anotación.
Comprueba que has completado la ingestión de datos. De lo contrario, es posible que el esquema aún no esté disponible para editarse.
En la Google Cloud consola, ve a la página Aplicaciones de IA.
En el menú de navegación, haga clic en Almacenes de datos.
En la columna Nombre, haga clic en el almacén de datos con el esquema que quiera actualizar.
Haga clic en la pestaña Esquema para ver el esquema de sus datos.
Esta pestaña puede estar vacía si es la primera vez que editas los campos.
Haz clic en el botón Edit (Editar).
Actualiza el esquema:
Asignar propiedades clave: en la columna Propiedades clave de su esquema, seleccione una propiedad clave para asignar un campo. Por ejemplo, si un campo llamado
detailssiempre contiene la descripción de un documento, asigne ese campo a la propiedad de clave Description.Actualizar el número de dimensiones (opción avanzada): puede actualizar este ajuste si utiliza inserciones de vectores personalizadas con Vertex AI Search. Consulta Avanzado: usar inserciones personalizadas.
Actualizar anotaciones de campos: para actualizar las anotaciones de un campo, selecciona o desmarca el ajuste de anotación de un campo. Las anotaciones disponibles son Retrievable, Indexable, Dynamic Facetable, Searchable y Completable. Algunos ajustes de campo tienen limitaciones. Consulta Configurar ajustes de campos para ver las descripciones y los requisitos de cada tipo de anotación.
Añadir un campo nuevo: si añade campos nuevos a su esquema antes de importar documentos con esos campos, puede reducir el tiempo que tarda Vertex AI Search en reindexar sus datos después de la importación.
Haga clic en Añadir campos para desplegar esa sección.
Haz clic en add_box Añadir nodo y especifica los ajustes del nuevo campo.
Para indicar una matriz, selecciona Sí en Matriz. Por ejemplo, para añadir un array de cadenas, asigna el valor
stringa type y el valorYesa Array.En el caso de los índices de almacén de datos de sitios web, todos los campos que añada serán matrices de forma predeterminada.
Haz clic en Guardar para aplicar los cambios en el esquema.
Si se cambia el esquema, se activa la reindexación. En el caso de los grandes almacenes de datos, la reindexación puede tardar horas.
REST
Para usar la API y actualizar tu esquema, sigue estos pasos:
Consulta las secciones Requisitos y limitaciones y Ejemplos de limitaciones (solo REST) para comprobar que los cambios en el esquema son válidos.
Para actualizar el esquema de los almacenes de datos con sitios web o datos no estructurados con metadatos, ve al paso 5 para llamar al método
schema.patch.Si vas a actualizar las anotaciones de campo (es decir, si vas a definir campos como indexables, recuperables, facetables dinámicos o aptos para búsquedas), consulta el artículo Configurar los ajustes de los campos para conocer las limitaciones y los requisitos de cada tipo de anotación.
Si está editando un esquema detectado automáticamente, asegúrese de que ha completado la ingestión de datos. De lo contrario, es posible que el esquema aún no esté disponible para editarlo.
Busca el ID de tu almacén de datos. Si ya tienes el ID del almacén de datos, ve al siguiente paso.
En la Google Cloud consola, ve a la página Aplicaciones de IA y, en el menú de navegación, haz clic en Almacenes de datos.
Haga clic en el nombre de su almacén de datos.
En la página Datos de su almacén de datos, obtenga el ID del almacén de datos.
Usa el método de la API schemas.patch para proporcionar tu nuevo esquema JSON como objeto JSON.
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 }'Haz los cambios siguientes:
PROJECT_ID: el ID de tu proyecto de Google Cloud .DATA_STORE_ID: el ID del almacén de datos de Vertex AI Search.JSON_SCHEMA_OBJECT: tu nuevo esquema JSON como objeto JSON. Por ejemplo:{ "$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" } } }
Opcional: Consulta el esquema siguiendo el procedimiento Ver una definición de esquema.
C#
Para obtener más información, consulta la documentación de referencia de la API C# Vertex AI Search.
Para autenticarte en Vertex AI Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Para obtener más información, consulta la documentación de referencia de la API Go Vertex AI Search.
Para autenticarte en Vertex AI Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para obtener más información, consulta la documentación de referencia de la API Java Vertex AI Search.
Para autenticarte en Vertex AI Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para obtener más información, consulta la documentación de referencia de la API Python Vertex AI Search.
Para autenticarte en Vertex AI Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby Vertex AI Search.
Para autenticarte en Vertex AI Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ejemplos de limitaciones (solo REST)
En esta sección se muestran ejemplos de tipos de actualizaciones de esquemas válidos y no válidos. En estos ejemplos se usa el siguiente esquema JSON:
{
"$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"
}
}
}
}
Ejemplos de actualizaciones admitidas
Se admiten las siguientes actualizaciones del esquema de ejemplo.
Añadir un campo En este ejemplo, se ha añadido el campo
properties.urial esquema.{ "$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" } } } }Añadir o quitar anotaciones de propiedades clave de
title,descriptionouri. En este ejemplo, se ha añadidokeyPropertyMappingal campotitle.{ "$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" } } } }
Ejemplos de actualizaciones de esquemas no válidas
No se admiten las siguientes actualizaciones del esquema de ejemplo.
Cambiar el tipo de un campo. En este ejemplo, el tipo del campo
titleha cambiado de cadena a número. Esta opción no está disponible.{ "$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" } } } }Quitar un campo. En este ejemplo, se ha quitado el campo
title. Esta opción no está disponible.{ "$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" } } } }
Siguientes pasos
- Ver la definición del esquema de datos estructurados
- Eliminar un esquema de datos estructurados
- Previsualizar los resultados de búsqueda