En esta página, se muestra cómo configurar los campos del esquema para configurar una app para datos estructurados, para datos no estructurados con metadatos o para datos de sitios web con atributos estructurados personalizados.
La configuración de los campos ayuda a determinar cómo la Búsqueda con agente usa los campos en sus resultados. Puedes usar la pestaña Esquema en la consola deGoogle Cloud para configurar los parámetros de configuración de los campos.
La configuración de los campos solo está disponible para las apps con almacenes de datos que contienen datos estructurados o no estructurados con metadatos.
Configuración de campo
Los siguientes parámetros de configuración de campos están disponibles para muchos tipos de campos en tus datos de búsqueda o recomendaciones, pero no para todos los tipos de datos. Un esquema contiene varios parámetros de configuración de campos individuales, y la siguiente tabla contiene parámetros de configuración que se pueden aplicar a un campo dentro de un esquema. Se recomienda usar datos estructurados para los siguientes parámetros de configuración de campos:
| Configuración | Definición | Objetivo | Ejemplo de caso de uso |
|---|---|---|---|
| Indexable | Configurar los campos como indexables permite realizar operaciones como filtrado, potenciación y facetas en campos estructurados dentro de un documento. Los campos de tipo |
Marcar un campo como Ten en cuenta que marcar un campo como |
En un almacén de datos de hoteles, puedes establecer un campo, como hotel_chain, como indexable. Esto te permite aplicar operaciones de clasificación, filtrado y refuerzo en hotel_chain. Por ejemplo, puedes aplicar un filtro para que la búsqueda muestre solo los resultados que contengan la cadena hotelera filtrada. |
| Se puede buscar |
Los campos que tienen más probabilidades de estar relacionados con las búsquedas se designan como Solo los campos con valores de texto se pueden marcar como aptos para la búsqueda. Por lo tanto, un campo de precio numérico puede ser indexable (para el filtrado o la segmentación), pero no se puede buscar como texto completo. |
Si estableces un campo como Se puede buscar, se mejora la recuperación de ese campo en las búsquedas, lo que permite a los usuarios encontrar contenido, como páginas web, buscando el texto dentro de estos campos. Marcar un campo como apto para búsquedas permite aplicar la clasificación. Por lo tanto, marcar una cantidad excesiva de campos como aptos para la búsqueda puede afectar negativamente la precisión de la búsqueda, ya que satura demasiado el algoritmo de clasificación y muestra demasiados resultados. Esto puede generar resultados de búsqueda irrelevantes. Puedes aplicar una ponderación relativa a los campos aptos para la búsqueda. Sin embargo, debido a los valores predeterminados sólidos, esto rara vez es necesario. Consulta Weight searchable fields a continuación. |
El sistema de tickets de asistencia de un proveedor de servicios de Internet almacena cada ticket como un documento estructurado. Si estos documentos contienen campos de texto aptos para búsquedas, como |
| Coincidencia de prefijo (vista previa) |
Permite que los campos de texto coincidan con prefijos usando el operador Para obtener más información, consulta Cómo hacer que los campos estén disponibles para la coincidencia parcial y de prefijo a continuación. |
Si configuras un campo como apto para la concordancia de prefijos, el motor de búsqueda podrá hacer coincidir cadenas de búsqueda que sean prefijos del valor del campo. Esto es particularmente útil para hacer coincidir identificadores, rutas o códigos jerárquicos en los que se conoce el comienzo de la cadena. La coincidencia de prefijos se limita a los primeros 12 caracteres del valor del campo normalizado y aumenta el tamaño del índice de búsqueda. No puedes establecer más de 10 campos como aptos para la coincidencia de prefijo. |
Tienes un campo, |
| Coincidencia parcial (vista previa) |
Permite la coincidencia parcial de cadenas en campos de texto con el operador Para obtener más información, consulta Cómo hacer que los campos estén disponibles para la coincidencia parcial y de prefijo a continuación. |
Establecer un campo como parcialmente coincidente habilita la coincidencia basada en tokens dentro de un campo, lo que permite a los usuarios encontrar contenido cuando solo se conoce una parte del valor del campo. El motor de búsqueda compara los tokens de la búsqueda con los tokens del valor del campo, independientemente de su orden. Ten en cuenta que marcar un campo como parcialmente coincidente aumenta el tamaño del índice de búsqueda. No puedes establecer más de 10 campos como parcialmente coincidentes. |
Quieres filtrar las regiones de Europa. Los nombres de |
| Faceta dinámica | Proporciona filtros contextuales para segmentar mejor las búsquedas de los usuarios. Establecer un campo como Dynamic Facetable permite que el sistema genere automáticamente filtros interactivos (facetas) basados en los valores únicos presentes en el campo. |
Si configuras un campo como Dynamic
facetable, los usuarios podrán definir mejor los resultados de la búsqueda de forma dinámica seleccionando categorías o atributos derivados directamente de los datos que se hayan incorporado, sin tener que predefinir manualmente todas las opciones de filtro posibles. Esto permite que el usuario limite su búsqueda a contenido web muy específico.Usa Dynamic Facetable con Searchable para obtener mejores resultados, lo que mejora tanto la recuperación de tu búsqueda como la calidad de las facetas que se ofrecen al usuario. |
Las páginas de una base de conocimiento corporativa interna, como las políticas de RR.HH., se incorporan con datos como department, document_type o last_modified_date. Si estos campos están etiquetados como dynamic facetable, una búsqueda de empleados para un término como reembolso de gastos genera de forma dinámica filtros interactivos basados en los resultados relevantes encontrados. En ese caso, la interfaz web podría mostrar facetas para Departamento: Finanzas, Viajes, Tipo de documento: Política, Preguntas frecuentes o Fecha de última modificación: Este trimestre, Año pasado. |
| Recuperable | Cuando una búsqueda coincide con contenido, el motor de búsqueda puede extraer los valores de los campos recuperables para mostrarlos o usarlos en la aplicación, lo que significa que la información del documento original se muestra como parte de los resultados de la búsqueda. Los campos clave (identificadores únicos para los documentos) se configuran como recuperables. | Los campos recuperables proporcionan contexto de búsqueda, ya que distinguen los campos cuyos valores se pueden mostrar de aquellos que solo se deben usar en la lógica de búsqueda, pero cuyos valores sin procesar no están destinados a mostrarse al usuario final. | En el caso de una búsqueda de productos en un sitio del comercio, product_id, name, price y image_url son campos típicos que querrás establecer como recuperables. Por otro lado, el internal_tracking_code se puede indexar y filtrar solo para fines administrativos, pero no se puede recuperar en los resultados de la búsqueda pública. |
| Completables | Permite que el contenido de un campo se use para sugerencias de búsquedas. Para obtener más información, consulta Configura la función de autocompletar. | Este parámetro de configuración permite que se usen los valores dentro de ese campo para proporcionar sugerencias de búsqueda en tiempo real a medida que los usuarios escriben. Esta función ayuda a guiar a los usuarios hacia el contenido pertinente y acelera el proceso de búsqueda. Ciertos factores, como el uso del filtrado de lenguaje natural, pueden afectar este rendimiento. | Si el campo completable está configurado para product_name, brand y category, cuando el usuario escribe Tecnología, las sugerencias de autocompletar pueden mostrar lo siguiente:
|
| Se puede filtrar | Permite que las recomendaciones usen un campo para filtrar los resultados recomendados y determinar qué resultados de la búsqueda ven los usuarios. Para obtener información sobre cómo filtrar recomendaciones, consulta Cómo filtrar recomendaciones. | Establecer un campo en Filterable ayuda a personalizar las recomendaciones para los usuarios. Ten en cuenta que se aplican límites de filtrado. |
Un parámetro de configuración del filtro por idioma y drama podría verse así: language_code: ANY("en", "fr") OR categories: ANY("drama"). |
Diferencias entre los parámetros de configuración de uso frecuente
Existen diferencias clave entre la configuración de los campos indexables, en los que se pueden realizar búsquedas y que se pueden recuperar. En la tabla, se resumen estas diferencias.
| Función | Indexable | Se puede buscar | Recuperable |
|---|---|---|---|
| Rol principal | Hace que el contenido del campo esté disponible para el motor de búsqueda. | Permite realizar consultas de texto completo en el contenido del campo | Permite que el valor del campo se muestre en los resultados de la búsqueda. |
| Análisis | El contenido se procesa y se coloca en un índice. | Por lo general, se somete a un análisis léxico exhaustivo. | El valor se almacena tal como está para su visualización. |
| ¿Puede ser...? | |||
| …¿Se puede buscar? | Sí (a menudo, un requisito previo) | N/A | No necesariamente (se puede recuperar sin que se pueda buscar) |
| …¿Recuperable? | No necesariamente | No necesariamente | N/A |
| …¿Se puede filtrar, ordenar y categorizar en facetas? | Sí (generalmente, también es un requisito previo para estos) | No directamente, ya que son atributos separados que, a menudo, se basan en un campo indexable. | No directamente. Estos atributos se relacionan con la forma en que se indexa y se consulta el campo, no solo con la forma en que se muestra. |
En la práctica, muchos campos que son fundamentales para la experiencia del usuario (como los títulos, las descripciones y la información de identificación) suelen establecerse como indexable, searchable y retrievable.
Limitaciones
La configuración de los campos tiene las siguientes limitaciones:
- Puedes configurar hasta 50 campos como indexables, aptos para la búsqueda, recuperables o categorizables dinámicamente en facetas.
- Para configurar un campo como facetable dinámico, primero se debe configurar como indexable.
- Para cambiar el parámetro de configuración de indexación, es necesario volver a indexar los datos, lo que puede tardar horas, en especial en el caso de los almacenes de datos grandes.
Si configuras campos para una app de búsqueda de contenido multimedia y deseas obtener información detallada sobre los campos del esquema, consulta Acerca de los documentos multimedia y los almacenes de datos.
Actualiza la configuración de los campos
Para actualizar la configuración de los campos, sigue estos pasos:
En la consola de Google Cloud , ve a la página AI Applications.
Haz clic en el nombre de la app que deseas editar.
Haz clic en Datos (Data).
Haz clic en la pestaña Esquema. En esta pestaña, se muestra la configuración actual de los campos.
No verás la pestaña Esquema si tu almacén de datos contiene datos básicos de sitios web o datos no estructurados sin metadatos.
Haz clic en Editar.
Selecciona o borra la configuración de los campos que necesites actualizar. No se admiten algunos parámetros de configuración de campos. Por ejemplo, los campos numéricos no se pueden establecer como Searchable.
Haz clic en Guardar para aplicar los cambios.
Campos de búsqueda ponderados (versión preliminar)
Si marcas un campo como apto para la búsqueda, puedes especificar un peso para indicar su importancia relativa en los resultados de la búsqueda. En la mayoría de los casos, no es necesario que especifiques pesos para los campos individuales, ya que los pesos predeterminados funcionan bien.
Sin embargo, ajustar los pesos puede ser necesario en algunas situaciones, por ejemplo:
Estás migrando datos desde una plataforma de búsqueda existente que ya usa campos ponderados.
Cuando los pesos predeterminados no proporcionan resultados de la búsqueda satisfactorios Específicamente, esto puede ocurrir cuando tienes muchos campos de búsqueda y algunos son notablemente más importantes que otros.
Quizás el resumen sea el campo más importante para las búsquedas, por lo que querrás priorizar ese texto.
O bien, el esquema tiene un campo que contiene palabras clave muy relevantes que son excelentes predictores para los resultados de la búsqueda, pero, debido a que este campo es mucho más corto que otros, su influencia a menudo se ve eclipsada por los campos más largos. Aumentar su peso garantiza que tenga el impacto previsto.
Niveles de peso
Los pesos se agrupan en los siguientes niveles:
| Importancia del campo | Explicación |
|---|---|
| Muy bajo | Es un valor bajo que el sistema sigue teniendo en cuenta cuando combina las puntuaciones de todos los campos. Si deseas que el peso sea aún menor para que el efecto sea insignificante, no marques el campo como apto para búsquedas. |
| Baja | Es un peso inferior al predeterminado. |
| Valor predeterminado | Es el peso estándar para los campos en los que se puede realizar búsquedas. Este peso proporciona un rendimiento razonablemente bueno en la mayoría de los casos. |
| Alta | Un peso que es notablemente más alto que el predeterminado. |
| Muy alto | Un peso dominante. Por lo general, se reserva para, como máximo, un campo. |
Actualización del esquema y reindexación
Agregar pesos a los campos aptos para la búsqueda requiere una actualización del esquema y una posterior reindexación de los datos en el almacén de datos. La actualización del esquema lleva horas y no hay un indicador confiable que te diga cuándo finalizó la indexación, por lo que debes sobreestimar el tiempo de indexación.
Cómo establecer niveles de importancia en los campos
La tarea de establecer niveles de ponderación para los campos puede ser tediosa, ya que solo debes realizar pequeños cambios y revisar cuidadosamente los resultados de la búsqueda después para verificar si hay consecuencias no deseadas. Después de cada cambio, debes esperar a que se complete la reindexación antes de poder evaluar el impacto del cambio.
Solo puedes configurar la ponderación del campo de búsqueda a través de la API. Esta función no está disponible en la consola de Google Cloud .
Para establecer pesos, debes actualizar el esquema del almacén de datos a través del método de la API
projects.locations.dataStores.schemas.patch.
Si aún no tienes tu esquema, sigue las instrucciones para obtenerlo en Cómo ver una definición de esquema.
Sigue las instrucciones para actualizar el esquema de forma programática. Agrega pesos a uno o más campos aptos para la búsqueda, como en estos ejemplos:
"summary": { "type": "string", "searchable": true, "weight": "high" }, "uri": { "type": "string", "searchable": true, "weight": "low" },En este ejemplo, el campo
summaryse establece en un peso más alto que el normal, y el campouri, en un peso más bajo. Si deseas restablecer un peso al valor predeterminado, configúralo endefault.Los valores permitidos para el parámetro de peso son los siguientes:
very_lowlowdefaulthighvery_high
Espera a que se complete la reindexación y prueba el comportamiento de la búsqueda.
Cómo hacer que los campos estén disponibles para la correlación parcial y de prefijo (versión preliminar)
En el caso de los campos de tipo string, puedes editar el esquema para que los campos estén disponibles para la concordancia de prefijo o la concordancia parcial. Esto te permite usar STARTS_WITH o CONTAINS en las expresiones de filtro.
Actualización del esquema y reindexación
Para que los campos estén disponibles para la coincidencia parcial o de prefijo, se requiere una actualización del esquema y la posterior reindexación de los datos en el almacén de datos. La actualización del esquema lleva horas, y no hay un indicador confiable que te diga cuándo se completó la indexación, por lo que debes sobreestimar el tiempo de indexación.
Actualiza el esquema para la coincidencia de prefijos y la coincidencia parcial
Para especificar campos como disponibles para la coincidencia de prefijos o la coincidencia parcial, debes actualizar el esquema del almacén de datos a través del método de la API projects.locations.dataStores.schemas.patch.
Si aún no tienes tu esquema, sigue las instrucciones para obtenerlo en Cómo ver una definición de esquema.
Sigue las instrucciones para actualizar el esquema de forma programática. Establece los parámetros que se pueden hacer coincidir en
trueen el esquema, como en estos ejemplos:"zone": { "type": "string", "searchable": true, "prefixMatchable": true }, "region": { "type": "string", "searchable": true, "partialMatchable": true }, "model": { "type": "string", "searchable": true, "prefixMatchable": true, "partialMatchable": true },En este ejemplo, el campo
zonese configura para que coincida con el prefijo. Se pueden usar hasta 12 caracteres, sin distinción entre mayúsculas y minúsculas, en la expresión de filtro para que coincidan con el valor del campo. El camporegionestá configurado para que coincida parcialmente.Espera a que se complete la reindexación.
Detalles sobre la correlación de prefijos
La coincidencia de prefijos en Agent Search te permite filtrar los resultados según si el valor de un campo comienza con una cadena específica. Esta capacidad se basa en el operador STARTS_WITH y requiere que el campo de texto de destino se configure como prefixMatchable en el esquema.
Lógica de normalización y coincidencia
Para optimizar el rendimiento y garantizar la coherencia, el sistema aplica un proceso de normalización específico tanto al valor del campo (durante la indexación) como a la cadena de consulta (durante la búsqueda).
Conversión a minúsculas: Todos los caracteres se convierten en minúsculas, lo que hace que la coincidencia no distinga mayúsculas de minúsculas.
Truncamiento de 12 caracteres: El sistema solo considera los primeros 12 caracteres de la cadena. Los caracteres que superen este límite se ignorarán para la coincidencia de prefijos.
Cómo funciona
En el momento de la indexación, para un campo marcado como prefixMatchable, el sistema genera tokens de prefijo para los primeros 12 caracteres. Para un valor como asia-south1-c, el índice almacena tokens para a, as, asi, asia, asia-, etcétera, hasta el carácter 12 (asia-south1-).
En el momento de la consulta, la cadena proporcionada al operador STARTS_WITH también se convierte a minúsculas y se trunca a 12 caracteres. Luego, la búsqueda se compara con los tokens de prefijo almacenados.
Ejemplos
En los siguientes ejemplos, se muestra cómo la normalización de 12 caracteres afecta los resultados de la búsqueda:
Concordancia amplia:
STARTS_WITH("A")coincide con cualquier valor que comience con "a" (sin distinción entre mayúsculas y minúsculas), comoasia,australiaoafrica.Prefijos parciales:
STARTS_WITH("asia-south")coincide conasia-south1-ayasia-southeast1-bporque ambos comienzan con la cadena de 10 caracteres especificada.Comportamiento de truncamiento: Debido a que solo se comparan los primeros 12 caracteres,
STARTS_WITH("asia-south1-a")coincide con un valor de campo deasia-south1-c. Esto ocurre porque ambas cadenas se normalizan con el mismo prefijo de 12 caracteres:asia-south1-.
Detalles sobre la correlación parcial
La concordancia parcial en la Búsqueda con agente te permite filtrar los resultados según si el valor de un campo contiene palabras o tokens específicos. Esta función se basa en el operador CONTAINS y requiere que el campo de texto de destino se configure como partialMatchable en el esquema.
Lógica de normalización y tokenización
La Búsqueda con agente normaliza y asigna tokens tanto al valor del campo (durante la indexación) como a la cadena de consulta (durante la búsqueda):
Conversión a minúsculas: Agent Search convierte los caracteres a minúsculas. Esto hace que la coincidencia no distinga entre mayúsculas y minúsculas.
Tokenización: La Búsqueda con agente divide la cadena en tokens individuales (palabras) usando espacios y otros caracteres como delimitadores.
Delimitadores estándar: Los espacios y los signos de puntuación comunes actúan como delimitadores, incluidos los guiones (
-), las barras (/), las comas (,), los puntos (.), los asteriscos (*), los corchetes ({ }), los paréntesis rectos ([ ]), los paréntesis (( )) y los apóstrofos (').No delimitadores: Los signos et (
&) y guion bajo (_) no actúan como delimitadores. El sistema trata los caracteres unidos por estos símbolos como un solo token.Delimitador de correo electrónico (
@): El símbolo@actúa como un delimitador especial para ayudar a reconocer las direcciones de correo electrónico. El sistema genera tokens para los componentes individuales y para las formas combinadas. Por ejemplo, tokenizasupport+tier1@example.comensupport,tier1,example,com,support+tier1@example.comysupport@example.com.
Cómo funciona
En el momento de la indexación, para un campo marcado como partialMatchable, el sistema normaliza y tokeniza el valor del campo, y almacena los tokens resultantes en el índice. Por ejemplo, tokeniza un valor de campo de 25-meter, outdoor, swimming
pool en [25, meter, outdoor, swimming, pool].
En el momento de la búsqueda, la cadena proporcionada al operador CONTAINS se somete al mismo proceso de normalización y tokenización. Luego, el motor de búsqueda verifica que todos los tokens de la consulta resultantes coincidan con los tokens almacenados para el campo. El orden de los tokens no tiene efecto.
Ejemplos
En los siguientes ejemplos, se muestra cómo la tokenización afecta los resultados de la coincidencia parcial:
Coincidencia básica de tokens: Si el valor del campo es
25-meter, outdoor, swimming pool, coincide con un filtro deCONTAINS("Outdoor pool"). El sistema tokeniza la búsqueda en[outdoor, pool], y ambos existen en los tokens del campo.Independencia del orden: Un filtro de
CONTAINS("pool outdoor")también coincide con el valor del campo25-meter, outdoor, swimming poolporque el sistema verifica la presencia de cada token independientemente de su orden.Coincidencia de direcciones de correo electrónico: Si un campo almacena el correo electrónico
support+tier1@example.com, los filtros comoCONTAINS("support"),CONTAINS("example.com")oCONTAINS("support@example.com")coinciden correctamente debido a la tokenización especial del símbolo@.
¿Qué sigue?
- Actualiza un esquema para datos estructurados
- Configurar los resultados de la búsqueda
- Obtener una vista previa de los resultados de la búsqueda