Puedes actualizar el esquema de cualquier dato que lo admita, como los datos estructurados, los datos del sitio web con datos estructurados o cualquier otro dato no estructurado con metadatos.
Puedes actualizar el esquema en la consola de Google Cloud o con el método de la API deschemas.patch.
La actualización del esquema de un sitio web solo se admite a través de la API de REST.
Para actualizar el esquema, puedes agregar campos nuevos, cambiar las anotaciones indexables, de búsqueda y recuperables de un campo, o marcar un campo como una propiedad clave, como title, uri y description.
Antes de comenzar
Antes de actualizar tu esquema, comprende los conceptos clave que se explican en esta sección.
Importancia de las propiedades clave
Estos son algunos motivos por los que debes asociar los campos de tu esquema con las propiedades clave:
Google recomienda que actualices tu esquema con asignaciones de propiedades clave, en especial para
title. Esto garantiza que tus resultados se muestren correctamente y ayuda a la Búsqueda con agente a identificar información importante que le permite generar mejores resultados.En los almacenes de datos estructurados, para obtener el indicador
keywordSimilarityScoreen tu respuesta de búsqueda, debes actualizar tu esquema para hacer lo siguiente:- Asocia los campos de texto esenciales para la concordancia de palabras clave con las propiedades clave
titleydescription. - Actualiza la anotación de los campos de texto como
Searchable
- Asocia los campos de texto esenciales para la concordancia de palabras clave con las propiedades clave
Requisitos
Cuando actualices un esquema, asegúrate de que el esquema nuevo sea retrocompatible con el esquema que estás actualizando. Para actualizar un esquema con uno nuevo que no sea retrocompatible, debes borrar todos los documentos del almacén de datos, borrar el esquema y crear uno nuevo.
La actualización de un esquema activa la reindexación de todos los documentos. Esto puede llevar tiempo y generar costos adicionales:
Tiempo: La reindexación de un almacén de datos grande puede tardar horas o días.
Gasto. La reindexación puede generar costos, según el analizador. Por ejemplo, la reindexación de almacenes de datos que utilizan el analizador de OCR o el analizador de diseño genera costos. Para obtener más información, consulta los precios de las funciones de Document AI.
Impacto en el servicio: La reindexación puede provocar que los servicios sean lentos o no estén disponibles, en especial para los grandes almacenes de datos. Google recomienda que planifiques las actualizaciones del esquema en consecuencia, teniendo en cuenta el posible tiempo de inactividad de las aplicaciones críticas.
Las actualizaciones del esquema no admiten lo siguiente:
- Cambiar un tipo de campo: Una actualización del esquema no admite cambiar el tipo del campo. Por ejemplo, un campo asignado a
integerno se puede cambiar astring. - Quitar un campo: Una vez que se define un campo, no se puede quitar. Puedes seguir agregando campos nuevos, pero no puedes quitar un campo existente.
Actualiza tu esquema
Puedes actualizar tu esquema en la consola de Google Cloud o con la API.
Console
Para actualizar un esquema en la consola de Google Cloud , sigue estos pasos:
Revisa la sección Requisitos y limitaciones para verificar que la actualización del esquema sea válida.
Si actualizas las anotaciones de campo (estableces campos como indexables, recuperables, categorizables en facetas dinámicas, aptos para búsquedas o completables), revisa Cómo configurar los parámetros de configuración de los campos para conocer las limitaciones y los requisitos de cada tipo de anotación.
Verifica que hayas completado la transferencia de datos. De lo contrario, es posible que el esquema aún no esté disponible para editarlo.
En la consola de Google Cloud , ve a la página AI Applications.
En el menú de navegación, haz clic en Almacenes de datos.
En la columna Nombre, haz clic en el almacén de datos con el esquema que deseas actualizar.
Haz clic en la pestaña Esquema para ver el esquema de tus datos.
Es posible que esta pestaña esté vacía si es la primera vez que editas los campos.
Haz clic en el botón Editar.
Actualiza tu esquema:
Asocia propiedades clave: En la columna Propiedades clave de tu esquema, selecciona una propiedad clave para asociar un campo. Por ejemplo, si un campo llamado
detailssiempre contiene la descripción de un documento, asocia ese campo a la propiedad clave Descripción.Actualizar la cantidad de dimensiones (avanzado): Puedes actualizar este parámetro de configuración si usas incorporaciones de vectores personalizadas con Agent Search. Consulta Opciones avanzadas: Usa incorporaciones personalizadas.
Actualiza las anotaciones de los campos: Para actualizar las anotaciones de un campo, selecciona o anula la selección de la configuración de anotación de un campo. Las anotaciones disponibles son Recuperable, Indexable, Faceta dinámica, Se puede buscar y Completable. Algunos parámetros de configuración de los campos tienen limitaciones. Consulta Configura los parámetros de configuración de los campos para obtener descripciones y requisitos de cada tipo de anotación.
Agregar un campo nuevo: Agregar campos nuevos a tu esquema antes de importar documentos nuevos con esos campos puede reducir el tiempo que tarda la Búsqueda con agente en volver a indexar tus datos después de la importación.
Haz clic en Agregar campos nuevos para expandir esa sección.
Haz clic en add_box Agregar nodo y especifica la configuración del campo nuevo.
Para indicar un array, establece Array en Yes. Por ejemplo, para agregar un array de cadenas, establece type en
stringy Array enYes.En el caso de un índice de almacén de datos de sitios web, todos los campos que agregues son arrays de forma predeterminada.
Haz clic en Guardar para aplicar los cambios en el esquema.
El cambio del esquema activa la reindexación, que puede tardar horas en el caso de los almacenes de datos grandes.
REST
Para usar la API y actualizar tu esquema, sigue estos pasos:
Revisa las secciones Requisitos y limitaciones y Ejemplos de limitaciones (solo para REST) para verificar que los cambios en tu esquema sean 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 actualizas las anotaciones de campo (estableces campos como indexables, recuperables, categorizables en facetas dinámicas o aptos para búsquedas), revisa Cómo configurar los parámetros de configuración de los campos para conocer las limitaciones y los requisitos de cada tipo de anotación.
Si editas un esquema detectado automáticamente, asegúrate de haber completado la transferencia 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 de tu almacén de datos, ve al siguiente paso.
En la consola de Google Cloud , ve a la página Aplicaciones basadas en IA y, en el menú de navegación, haz clic en Almacenes de datos.
Haz clic en el nombre de tu almacén de datos.
En la página Datos de tu almacén de datos, obtén el ID del almacén de datos.
Usa el método de la API de schemas.patch para proporcionar tu nuevo esquema JSON como un 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 }'Reemplaza lo siguiente:
PROJECT_ID: Es el ID de tu proyecto de Google Cloud .DATA_STORE_ID: Es el ID del almacén de datos de Agent Search.JSON_SCHEMA_OBJECT: Tu nuevo esquema JSON como un 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: Revisa el esquema siguiendo el procedimiento Cómo ver una definición de esquema.
C#
Para obtener más información, consulta la documentación de referencia de la API de Agent Search C#.
Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para obtener más información, consulta la documentación de referencia de la API de Agent Search Go.
Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener más información, consulta la documentación de referencia de la API de Agent Search Java.
Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener más información, consulta la documentación de referencia de la API de Agent Search Python.
Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Para obtener más información, consulta la documentación de referencia de la API de Agent Search Ruby.
Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ejemplos de limitaciones (solo para REST)
En esta sección, se muestran ejemplos de tipos de actualizaciones de esquemas válidos y no válidos. Estos ejemplos usan 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.
Se agregó un campo. En este ejemplo, se agregó 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" } } } }Se agregan o quitan anotaciones de propiedades clave para
title,descriptionouri. En este ejemplo, se agregókeyPropertyMappingal 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 esquema 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
titlese cambió de cadena a número. Esta opción no es compatible.{ "$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" } } } }Se quitó un campo. En este ejemplo, se quitó el campo
title. Esto no se admite.{ "$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" } } } }
¿Qué sigue?
- Cómo ver la definición del esquema para los datos estructurados
- Cómo borrar un esquema para datos estructurados
- Obtener una vista previa de los resultados de la búsqueda