Cómo obtener resultados de búsqueda

En esta página, se describen las consultas básicas con búsqueda, incluidos los textos búsquedas, búsquedas por exploración, paginación, optimización y resultados personalizados.

Nunca almacenar en caché los resultados personalizados de un usuario final ni devolver resultados personalizados los resultados a un usuario final diferente.

Acerca de la búsqueda de texto y la búsqueda por exploración con la búsqueda

La búsqueda permite realizar búsquedas de texto y explorar. de búsqueda.

En el caso de uso de la búsqueda de consultas de texto, un comprador podría ingresar una consulta basada en texto en tu sitio. La búsqueda muestra una respuesta de búsqueda que contiene productos que se ajusten a los parámetros de los controles que configuraste, ordenados por relevancia. y la maximización de ingresos.

En el caso de uso de navegación, un comprador podría ir al menú de tu sitio y navegar a una categoría de producto específica. Buscar automáticamente elige el orden de clasificación que maximice los ingresos mediante el aprendizaje del comportamiento del usuario y tendencias. Los controles que estableciste pueden definir mejor los resultados de la exploración arriba.

Tanto las solicitudes de búsqueda de texto como las de exploración usan el Método servingConfigs.search.

Búsquedas de texto

Cuando un usuario ingresa una consulta de texto para realizar una búsqueda en tu sitio, la búsqueda ordena los posibles resultados de la búsqueda según su relevancia, popularidad, capacidad de compra personalización.

La Búsqueda considera una solicitud de servingConfigs.search como una una solicitud de búsqueda basada en texto si tiene un campo query que no está vacío.

Cuando subas un evento del usuario, envía los eventos de búsqueda de consultas de texto generados por buscar como eventos de usuario de search. Si el evento tiene un campo userEvent.searchQuery y un campo userEvent.pageCategories vacío, search lo considera un evento de búsqueda basado en texto.

Explorar búsquedas

Por lo general, al navegar por los productos con la navegación del sitio se obtienen resultados que de la misma relevancia o que se ordenan según los artículos más vendidos. La Búsqueda aprovecha la IA para optimizar la forma en que exploran los resultados se ordenan según la popularidad, la capacidad de compra y la personalización.

Cuando el método servingConfigs.search envía una solicitud, buscar se considera una solicitud de búsqueda de exploración si el campo query está vacío. En ese caso, los resultados se basan en el filter y pageCategories, así como una mayor optimización y personalización si disponibles.

Cuando subas eventos de usuario, asegúrate de enviar eventos de búsqueda de exploración generado por la búsqueda como eventos de usuario search. La búsqueda considera un evento de usuario search como un evento basado en la exploración. si tiene un campo userEvent.searchQuery vacío y un campo userEvent.pageCategories.

Para obtener los resultados de búsqueda correctos, pageCategories y filter valores de las solicitudes de búsqueda deben coincidir exactamente con pageCategories y filter valores en los eventos de usuario subidos. Si no coinciden exactamente, Es posible que los datos de las solicitudes de búsqueda no se reconozcan, lo que puede perjudicar impactar en la calidad de los resultados. La búsqueda por exploración solo reconoce el primer valor de la categoría en pageCategories.

Utiliza las solicitudes de búsqueda para obtener resultados para las búsquedas de texto y las búsquedas de exploración. Para realizar una solicitud de búsqueda, usa el Método servingConfigs.search.

Todas las solicitudes de búsqueda requieren placement, que identifica el nombre completo del recurso de la configuración de entrega que se usará. La configuración de entrega determina y los controles asociados afectan los resultados de la búsqueda.

Las solicitudes de búsqueda de búsqueda de texto requieren un campo query que no esté vacío.

Las solicitudes de búsqueda de exploración requieren un campo pageCategories que no esté vacío.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProducts(String query) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .build();

  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchResponse response = searchClient.search(searchRequest).getPage().getResponse();
    System.out.println("Search response: " + searchResponse);
  }
}

De forma predeterminada, se muestra una cantidad razonable de resultados ordenados por relevancia.

Para que los atributos de productos se muestren con la respuesta de búsqueda, asegúrate de hacer lo siguiente: proporcionar valores de atributos cuando importes los datos de tu catálogo. Product tiene atributos de sistema predefinidos, como marca, color, y el tamaño para los que puedes proporcionar valores. También puedes incluir atributos personalizados que defines con Product.attributes.

Instructivo de búsqueda

En este instructivo, se muestra cómo enviar una consulta de búsqueda basada en texto al el servicio de Vertex AI Search for Retail y analizar la respuesta.


Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:

GUIARME


Paginación

Usa la paginación para reducir el tiempo de búsqueda y el tamaño de las respuestas que se envían.

Instructivo de paginación

En este instructivo, se muestra cómo controlar la paginación en una solicitud de búsqueda basada en texto. Cuando un comprador busca productos en una tienda, puede mejorar su navegación. a través de los resultados de la búsqueda. Por ejemplo, pueden limitar la cantidad de elementos en la respuesta de búsqueda usando la función de tamaño de la página o saltando a su preferencia con la función de desplazamiento.


Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:

GUIARME


Paginación

Para pasar de una página a otra, usa page_token o offset, según tu caso de uso.

Para pasar a la página siguiente, puedes usar page_token. Por ejemplo, supongamos que envía el siguiente SearchRequest.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
}

Desde SearchResponse, puedes obtener los productos resultantes con las 5 relevancias principales, junto con un next_page_token.

JSON

{
  results: [
    products{...}, products{...}, products{...}, products{...}, products{...}
  ]
  next_page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
  total_size: 100
  search_token: "NtQKDAiXt4_3BRDCg_jnARABGiQ1ZWRjOTRlOC0wMDAwLTI1YTEtODJlMy1mNGY1ZTgwZDUxOGM"
}

Para obtener los productos del resultado con las 5 relevancias siguientes (de la 6 a la 10), debes configurarpage_token usando los mismos placement, visitor_id y query como next_page_token de SearchResponse anterior.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProducts_withNextPageToken(String query, int pageSize)
    throws IOException, InterruptedException {
  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchRequest firstRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .build();

    SearchResponse firstResponse = searchClient.search(firstRequest).getPage()
        .getResponse();
    System.out.println("First search response: " + firstResponse);

    SearchRequest secondRequest = SearchRequest.newBuilder()
        .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
        .setBranch(DEFAULT_BRANCH_NAME)
        .setVisitorId(VISITOR_ID)
        .setQuery(query)
        .setPageSize(pageSize)
        .setPageToken(firstResponse.getNextPageToken())
        .build();

    SearchResponse secondResponse = searchClient.search(secondRequest).getPage()
        .getResponse();
    System.out.println("Second search response: " + secondResponse);
  }
}

En este ejemplo, SearchRequest se ve de la siguiente manera:

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  page_token: "wY4ETNkBDOlVjZ0YWLzUmM40SMhVjMtADMwATL5UGN5MGZlVDJaIQ5LaYsQUw9fC6lIwgE1EgC"
}

En otros casos, en lugar de navegar de una página a otra o de obtener resultados Con la máxima relevancia, puedes saltar directamente a una posición en particular con offset.

Java

import com.google.cloud.retail.v2.SearchRequest;
import com.google.cloud.retail.v2.SearchResponse;
import com.google.cloud.retail.v2.SearchServiceClient;

public static void searchProducts_withOffset(String query, int pageSize,
    int offset) throws IOException, InterruptedException {
  SearchRequest searchRequest = SearchRequest.newBuilder()
      .setPlacement(DEFAULT_SEARCH_PLACEMENT_NAME)
      .setBranch(DEFAULT_BRANCH_NAME)
      .setVisitorId(VISITOR_ID)
      .setQuery(query)
      .setPageSize(pageSize)
      .setOffset(offset)
      .build();

  try (SearchServiceClient searchClient = SearchServiceClient.create()) {
    SearchResponse response = searchClient.search(searchRequest).getPage().getResponse();
    System.out.println("Search response: " + searchResponse);
  }
}

Por ejemplo, si quieres la décima página de los resultados, cuando el tamaño de la página es 5, entonces puedes establecer que offset sea 45, que se calcula mediante (10 - 1) * 5.

JSON

{
  placement: 'projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/placements/default_search'
  visitor_id: 'VISITOR_ID'
  query: 'shoes'
  page_size: 5
  offset: 45
}

Buscar niveles de rendimiento

La Búsqueda ofrece varios niveles de rendimiento de búsqueda que mejorar tus resultados. Por ejemplo, para los casos de uso de búsqueda de texto, los resultados podrían basarse solo en la relevancia. A medida que obtengas un rendimiento más avanzado por niveles, la búsqueda puede devolver resultados basados en la relevancia, popularidad, optimización de ingresos y personalización.

La Búsqueda desbloquea automáticamente niveles de rendimiento más altos cuando subir datos del catálogo y de eventos del usuario que cumplan con los requisitos mínimos de cada uno del nivel de servicio.

La página Calidad de los datos en la consola de Search for Retail proporciona una evaluación o requisitos de cumplimiento de cada nivel. Para obtener más información sobre el uso de esta para ver la calidad de los datos y los niveles de rendimiento de búsqueda; consulta Desbloquear la y niveles de rendimiento.

Evalúa la búsqueda de texto y explora los resultados

Antes de actualizar el código de tu sitio web para solicitar una búsqueda de texto o de exploración resultados, puedes obtener una vista previa de ellos para confirmar que tu configuración de entrega como lo esperabas.

Para obtener más información sobre los parámetros de configuración de entrega, consulta Acerca de la configuración de entrega.

Puedes obtener una vista previa de los resultados de la configuración de entrega en la página Evaluar o mediante ir a la página Detalles de una configuración de entrega en la consola y hacer clic en Evaluar. En los siguientes pasos, se muestra cómo obtener una vista previa de la Evaluar.

Para obtener una vista previa de los resultados que muestra tu configuración de entrega, haz lo siguiente:

  1. Ve a la página Evaluar en la consola de Search for Retail.

    Ir a la página Evaluar

  2. Haz clic en la pestaña Buscar.

  3. Selecciona la configuración de entrega de la que deseas obtener una vista previa.

  4. Selecciona la rama de catálogo que contiene el catálogo del que deseas obtener una vista previa.

  5. Opcional: Ingresa un ID de visitante para obtener una vista previa de los resultados de la búsqueda para ese usuario.

  6. Opcional: Ingresa un ID de usuario para obtener una vista previa de los resultados de la búsqueda para ese usuario.

  7. Opcional: Ingresa una hora de búsqueda para obtener una vista previa de los resultados de la búsqueda que aparecerán en el momento especificado.

    Por ejemplo, si promociona ciertos productos para el Black Friday, puede puedes ver los resultados tal como aparecerían ese día.

  8. Opcional: Selecciona facetas para mostrar junto con los resultados de la búsqueda y haz clic OK para aplicarlos.

    Las facetas que seleccionas se usan para generar una lista de filtros de faceta que aparecerán en Agregar facetas después de realizar la búsqueda inicial. Estos los filtros de faceta pueden incluir facetas distintas de las que seleccionaste en este paso, como las facetas dinámicas.

  9. Ingresa una búsqueda de texto para obtener una vista previa de los resultados de esa búsqueda.

  10. Haz clic en Vista previa de la búsqueda o presiona Intro en cualquier campo de entrada para ver resultados.

    Los resultados de la búsqueda se muestran con sus imágenes en miniatura disponibles.

    Si tu búsqueda activa un control de redireccionamiento, aparecerá un aviso que muestra el URI de redireccionamiento.

  11. Opcional: Haz clic en el ícono de Cuadrícula o en el ícono de Lista para cambiar el modo los resultados de la búsqueda se muestran en la vista previa.

  12. Opcional: Si seleccionaste facetas para que aparezcan junto a los resultados, selecciona uno o más valores de faceta de la lista de facetas para filtrar los resultados según esos de salida. Los resultados se actualizan automáticamente luego de la selección.

    Cuando seleccionas varios valores de la misma faceta, estos se aplican como un OR, y los valores en las diferentes facetas se aplican como sería un operador AND. Por ejemplo, después de seleccionar las facetas “color” y los valores “blue” y "oro", y los valores de material "algodón" y "poliéster". Los resultados de la búsqueda deben aparecer en color “azul” o "oro" como atributo y también debe tener “algodón” o "poliéster" como .

Explorar

  1. Ve a la página Evaluar en la consola de Search for Retail.

    Ir a la página Evaluar

  2. Haz clic en la pestaña Explorar.

  1. Selecciona la configuración de entrega de la que deseas obtener una vista previa.

  2. Selecciona la rama de catálogo que contiene el catálogo del que deseas obtener una vista previa.

  3. Opcional: Ingresa un ID de visitante para obtener una vista previa de los resultados para ese usuario.

  4. Opcional: Ingresa un ID de usuario para obtener una vista previa de los resultados para ese usuario.

  5. Para obtener una vista previa de cómo se verían los resultados con un filtro específico agregado, ingresa una cadena de filtro. Usa la sintaxis de la expresión de filtro especificada en el Filtrar.

  6. Opcional: Ingresa el tiempo de navegación para obtener una vista previa de los resultados que aparecerán en el momento especificado.

    Por ejemplo, si promociona ciertos productos para el Black Friday, puede puedes ver los resultados tal como aparecerían ese día.

  7. Ingresa la categoría de página en la que estás probando los resultados de la exploración.

  8. Opcional: Selecciona facetas para mostrar junto con los resultados y haz clic OK para aplicarlos.

    Las facetas que seleccionas se usan para generar una lista de filtros de faceta que aparecerán en Agregar facetas después de realizar la búsqueda inicial. Estos los filtros de faceta pueden incluir facetas distintas de las que seleccionaste en este paso, como las facetas dinámicas.

  9. Haz clic en Explorar vista previa o presiona Intro en cualquier campo de entrada para ver resultados.

    Los resultados se muestran con sus imágenes en miniatura disponibles.

  10. Opcional: Haz clic en el ícono de Cuadrícula o en el ícono de Lista para cambiar el modo los resultados se muestran en vista previa.

  11. Opcional: Si seleccionaste facetas para que aparezcan junto a los resultados, selecciona uno o más valores de faceta de la lista de facetas para filtrar los resultados según esos de salida. Los resultados se actualizan automáticamente luego de la selección.

    Cuando seleccionas varios valores de la misma faceta, estos se aplican como un OR, y los valores en las diferentes facetas se aplican como sería un operador AND. Por ejemplo, después de seleccionar las facetas “color” y "material", puedes filtrar los resultados de la búsqueda seleccionando las valores de color “azul” y "oro", y los valores de material "algodón" y "poliéster". Los resultados deben ser “azul” o "oro" como y también debe incluir “algodón” o "poliéster" como .

Para consultar la página Detalles de la configuración de entrega de la que estás obteniendo una vista previa, haz clic en Consulta la configuración de entrega en el campo Selecciona la configuración de entrega.