Cómo obtener resultados de búsqueda

En esta página, se describen las consultas básicas con la búsqueda, incluidas las búsquedas de texto, las búsquedas de exploración, la paginación, la optimización y los resultados personalizados.

Nunca almacenes en caché los resultados personalizados de un usuario final ni muestres resultados personalizados a un usuario final diferente.

La búsqueda proporciona funciones de búsqueda de texto y de exploración.

En el caso de uso de 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 puede 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 configuraste te permiten definir mejor los resultados de la búsqueda.

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 búsqueda de texto para buscar en tu sitio, la búsqueda ordena los posibles resultados de la búsqueda en función de la relevancia, la popularidad, la capacidad de compra y la personalización.

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

Cuando subas eventos de usuario, envía los eventos de búsqueda de consultas de texto que genera la búsqueda como eventos de usuario 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, la navegación por productos con la navegación del sitio produce resultados que son todos de la misma relevancia o ordenados por los artículos más vendidos. La Búsqueda aprovecha la IA para optimizar la forma en que se ordenan los resultados de la exploración teniendo en cuenta la popularidad, la capacidad de compra y la personalización.

Cuando el método servingConfigs.search envía una solicitud, la búsqueda la considera una solicitud de búsqueda de navegació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 navegación si tiene un campo userEvent.searchQuery vacío y un campo userEvent.pageCategories no vacío.

Para obtener resultados correctos de la búsqueda de navegación, los valores de pageCategories y filter de tus solicitudes de búsqueda deben coincidir exactamente con los valores de pageCategories y filter de los eventos del usuario que subiste. 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 de exploración solo reconoce el primer valor de categoría en pageCategories.

Usa las solicitudes de búsqueda para obtener resultados de búsquedas de texto y de navegació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 qué parámetros de configuración y controles asociados afectan los resultados de la búsqueda.

Las solicitudes de búsqueda de consultas de texto requieren un campo query no 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 producto se muestren con la respuesta de búsqueda, asegúrate de proporcionar valores de atributos cuando importes tus datos de 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 búsqueda basada en texto al servicio de Vertex AI Search para 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 disminuir 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


Paginar

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 así:

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
}

Niveles de rendimiento de la Búsqueda

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 subes datos de catálogo y eventos del usuario que cumplen con los requisitos mínimos de cada nivel.

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 la búsqueda de texto o la búsqueda por exploración resultados, puedes obtener una vista previa de ellos para confirmar que tu configuración de entrega funcione como esperas.

Para obtener más información sobre las configuraciones de publicación, consulta Acerca de las configuraciones de publicación.

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 desde la página 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 publicación de la que deseas obtener una vista previa.

  4. Selecciona la rama del catálogo que contiene el catálogo 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 de 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 promocionaste ciertos productos para el Black Friday, podrás 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 los 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 de Lista para cambiar la forma en que se muestran los resultados de la búsqueda en la vista previa.

  12. Opcional: Si seleccionaste facetas para que aparezcan junto con tus resultados, selecciona uno o más valores de facetas de la lista de facetas para filtrar los resultados por esos valores. Los resultados se actualizan automáticamente cuando los seleccionas.

    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 Evaluación

  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 del catálogo que contiene el catálogo 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 de 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 promocionaste ciertos productos para el Black Friday, podrás ver los resultados 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 las facetas que deseas mostrar junto con los resultados y haz clic en Aceptar para aplicarlas.

    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 filtros de facetas pueden incluir facetas distintas de las que seleccionas 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 cuando los seleccionas.

    Cuando seleccionas varios valores de la misma faceta, se aplican como lo haría un operador OR, y los valores de diferentes facetas se aplican como lo harí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". Tus 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.