En esta página, se describe la función de autocompletado avanzado de Agent Search.
Al igual que el autocompletar básico, el autocompletar avanzado genera sugerencias de búsqueda basadas en los primeros caracteres que se ingresan en la búsqueda.
Antes de leer esta página, familiarízate con la función de autocompletado básica de Agent Search. Consulta Configura la función de autocompletar.
Funciones clave del autocompletado avanzado
Las funciones clave del autocompletar avanzado que lo distinguen del autocompletar básico son las siguientes:
Búsqueda combinada: La función de autocompletado avanzado se puede usar con apps de búsqueda combinada, que son apps de búsqueda personalizadas conectadas a más de un almacén de datos.
Control de acceso: La función autocompletar avanzada respeta los controles de acceso. (Los controles de acceso también se conocen como LCA, listas de control de acceso). La función de autocompletar avanzada solo sugiere búsquedas relacionadas con documentos a los que el usuario que realiza la búsqueda tiene acceso. Para obtener información sobre el control de acceso, consulta Usa el control de acceso a la fuente de datos.
- Potenciador de idioma: El autocompletado avanzado se puede configurar para potenciar las sugerencias en uno o más idiomas. Por ejemplo, si el idioma del navegador es neerlandés, se podrían potenciar las sugerencias de autocompletado en ese idioma. Para obtener más información, consulta Envía una solicitud de autocompletado con un refuerzo de idioma.
- Búsquedas recientes: Con el autocompletar avanzado, en lugar de las sugerencias de búsqueda de autocompletar normales, los usuarios pueden obtener sus búsquedas recientes que coinciden con el prefijo de las letras que escriben. Para obtener más información, consulta Envía una solicitud de autocompletado y devuelve las búsquedas recientes.
Antes de comenzar
Antes de comenzar a usar la función de autocompletado avanzado, haz lo siguiente:
Revisa y, de manera opcional, edita la configuración de autocompletar de tu app. Consulta Cómo actualizar la configuración de autocompletar.
En el caso de los almacenes de datos más pequeños, configura Habilitar autocompletar como Ahora. Recomendamos esto porque es posible que los almacenes de datos pequeños no contengan suficientes datos para proporcionar sugerencias precisas.
Si tus almacenes de datos contienen información de identificación personal (PII) o si usas el modelo de sugerencias de búsqueda del historial de búsqueda o de eventos del usuario, revisa Protección contra fugas de PII y configura las protecciones de prevención de pérdida de datos (DLP) que podrían ser necesarias para evitar fugas de PII.
Si planeas usar sugerencias de búsqueda recientes (
RECENT_SEARCH), asegúrate de registrar eventos del usuario de búsqueda. La Búsqueda con agente no completa automáticamente el índice de búsquedas recientes cuando se realizan búsquedas con el métodoSearchService.Search. Para devolver las búsquedas recientes, debes registrar los eventos del usuario de búsqueda con el métodouserEvents.write. Consulta Antes de comenzar con las búsquedas recientes.
Envía solicitudes de autocompletar
A continuación, se muestra cómo enviar solicitudes de autocompletado avanzado con el método completionConfig.completeQuery.
REST
Para enviar una solicitud de autocompletado con la API, sigue estos pasos:
Busca el ID de tu app. Si ya tienes el ID de tu app, ve al siguiente paso.
En la consola de Google Cloud , ve a la página AI Applications.
Ve a Apps.
En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.
Realiza una llamada al método
completionConfig.completeQuery.curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING" }'Reemplaza lo siguiente:
PROJECT_ID: Es el ID de tu proyecto de Google Cloud .APP_ID: Es el ID de la app de Agent Search.QUERY_STRING: Es la entrada de escritura anticipada que se usa para recuperar sugerencias.
Envía una solicitud de autocompletado con un refuerzo de idioma
Puedes potenciar o descartar sugerencias de autocompletar según el código de idioma. Por ejemplo, puedes hacer que las sugerencias de autocompletar en algunos idiomas sean más o menos propensas a aparecer.
El valor de refuerzo debe estar entre -1 y 1. Si se establece un número negativo, se "ocultan" las sugerencias de autocompletar en ese idioma, y si se establece un número positivo, se prioriza el idioma.
Usa etiquetas de idioma de dos letras definidas por BCP 47, por ejemplo, en, fr, hi y zh.
REST
Para enviar una solicitud de autocompletado que incluya un valor de refuerzo de idioma, sigue estos pasos:
Busca el ID de tu app. Si ya tienes el ID de tu app, ve al siguiente paso.
En la consola de Google Cloud , ve a la página AI Applications.
Ve a Apps.
En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.
Realiza una llamada al método
completionConfig.completeQuery.curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING", "boostSpec": { "conditionBoostSpecs": [{ "condition": "(langCode: ANY(LANG_CODE))", "boost": BOOST_VALUE }] } }'Reemplaza lo siguiente:
PROJECT_ID: Es el ID de tu proyecto de Google Cloud .APP_ID: Es el ID de la app de Agent Search.QUERY_STRING: Es la entrada de escritura anticipada que se usa para recuperar sugerencias.LANG_CODE: Es el código de dos letras de uno o más idiomas, entre comillas escapadas. Por ejemplo,\"fr\", \"es\"para aplicar el valor de aumento al español y al francés.BOOST_VALUE: Es un número de punto flotante entre -1 y 1. Cuando el valor es negativo, se reduce la clasificación de las sugerencias automáticas en el idioma (aparecen más abajo en la lista de sugerencias). Cuando el valor es positivo, se promocionan las sugerencias (aparecen más arriba en la lista).
Envía una solicitud de autocompletado y devuelve las búsquedas recientes
Devuelve, como sugerencias, una lista de las búsquedas más recientes del usuario que coinciden con el prefijo de la búsqueda en la solicitud.
Las sugerencias de búsqueda coincidentes se enumeran desde las más recientes hasta las más antiguas. Para usar la búsqueda reciente, se debe proporcionar el seudo-ID del usuario.
Antes de comenzar
Antes de recuperar las búsquedas recientes con Autocomplete, debes registrar las búsquedas de los usuarios como eventos de usuario de búsqueda llamando al método userEvents.write.
Si no se escriben los eventos de usuario de la búsqueda, las solicitudes a completionConfig.completeQuery con suggestionTypes: ["RECENT_SEARCH"] devuelven una lista vacía de sugerencias ({}).
Para registrar un evento del usuario de búsqueda, envía una solicitud POST al método userEvents.write con los siguientes valores:
eventType: configurado como"search"userPseudoId: Se establece en el identificador único seudonimizado del usuario.engine: Se establece en el nombre del recurso de tu motor.searchInfo.searchQuery: Se establece en la cadena de consulta que ingresó el usuario.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/userEvents:write" \
-d '{
"eventType": "search",
"userPseudoId": "USER_PSEUDO_ID",
"engine": "projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID",
"searchInfo": {
"searchQuery": "SEARCH_QUERY"
}
}'
Reemplaza lo siguiente:
PROJECT_ID: Es el ID de tu proyecto de Google Cloud .LOCATION: Es la ubicación de tu app o almacén de datos (por ejemplo,globalous).APP_ID: Es el ID de la app de Agent Search.USER_PSEUDO_ID: Es un identificador seudonimizado del usuario. Debe coincidir con eluserPseudoIdque se pasó en las solicitudescompletionConfig.completeQueryposteriores.SEARCH_QUERY: Es la cadena de consulta que buscó el usuario.
Para obtener más información, consulta Cómo registrar eventos del usuario en tiempo real con el método userEvents.write.
Ejemplo
Un empleado consulta el sitio de intranet de su empresa para obtener información sobre cómo tomarse vacaciones. El empleado realizó las siguientes búsquedas, que se enumeran de la más reciente a la más antigua:
PTO, Vacation blackout periods, How much vacation time do I have?, Time
off, Vacation policy, covering a vacant position during absences y Can I
take unpaid time off?
Ahora, en respuesta a que el empleado escriba vac en el cuadro de búsqueda, las sugerencias de autocompletado serían las siguientes:
Vacation blackout periodsHow much vacation time do I have?Vacation policyCovering a vacant position during absences
Procedimiento
Para enviar una solicitud de autocompletado que muestre las búsquedas más recientes del usuario, sigue estos pasos:
REST
Busca el ID de tu app. Si ya tienes el ID de tu app, ve al siguiente paso.
En la consola de Google Cloud , ve a la página AI Applications.
Ve a Apps.
En la página Apps, busca el nombre de tu app y obtén su ID en la columna ID.
Realiza una llamada al método
completionConfig.completeQuery.curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/completionConfig:completeQuery" \ -d '{ "query":"QUERY_STRING", "suggestionTypes": ["RECENT_SEARCH"], "userPseudoId": "USER_PSEUDO_ID" }'Reemplaza lo siguiente:
PROJECT_ID: Es el ID de tu proyecto de Google Cloud .APP_ID: Es el ID de la app de Agent Search.QUERY_STRING: Es la entrada de escritura anticipada que se usa para recuperar sugerencias.USER_PSEUDO_ID: Es un identificador seudonimizado del usuario. Puedes usar una cookie HTTP para este campo, que identifica de forma única a un visitante en un solo dispositivo. No establezcas este campo en el mismo identificador para varios usuarios. Esto combinaría sus historiales de búsqueda. No incluyas información de identificación personal (PII) en este campo.
Usa una lista de bloqueo para autocompletar
Puedes usar una lista de bloqueo para evitar que términos específicos aparezcan como sugerencias de autocompletar.
Si bien el autocompletado avanzado se encuentra a nivel de la app, las listas de bloqueo se encuentran a nivel del almacén de datos. Esto es importante si tu app es una app de búsqueda combinada. Crea una lista de bloqueo para cada almacén de datos conectado a la app.
Para obtener información sobre cómo crear y usar listas de bloqueo, consulta Usa una lista de bloqueo para autocompletar.
Usa una lista importada de sugerencias de autocompletar
Puedes proporcionar tu propia lista de sugerencias de autocompletar en lugar de usar las sugerencias generadas a partir de un modelo de datos de autocompletar.
Para obtener información sobre cómo importar una lista, consulta Usa una lista importada de sugerencias de autocompletar.