HCL Commerce Version 9.1.12.0 or later

Secuenciar resultados de búsqueda utilizando el rango de ventas

Este tutorial muestra cómo crear un nuevo índice personalizado para albergar el rango de ventas de cada producto. Utilizará un conector de Ingest personalizado para copiar los rangos de ventas actualizados en el índice de productos de forma gradual. A continuación, personalizará un perfil de búsqueda en el servicio de consulta para utilizar este rango de ventas para ordenar el los resultados de la búsqueda de términos.

Before you begin

Asegúrese de haber descargado los archivos de plantilla JSON de ejemplo que utilizará para crear el nuevo índice personalizado.En la base de datos, utilizará CATENTRY. FIELD1, que es un campo numérico.

About this task

En este tutorial insertará datos de rangos de ventas en una tabla de bases de datos, creará un conector de rangos, insertará el rango de ventas en el índice de productos y actualizará el perfil de búsqueda para incluir una nueva opción de clasificación.
Note: La clasificación o secuenciación y la clasificación de los resultados de las búsquedas (ordenación de resultados por puntuación de relevancia) no son acciones compatibles. La secuenciación de los rangos de ventas debe considerarse como una opción de ordenación secundaria para la clasificación por relevancia de búsqueda predeterminada que se utiliza normalmente para los resultados de las búsquedas. Para obtener más información sobre cómo el servicio de consulta asigna una relevancia a los resultados de las búsquedas, consulte Relevancia del texto en la búsqueda de HCL Commerce.

Procedure

  1. Cree un nuevo conector de rangos.
    En función de si está actualizando el entorno de creación o el de producción, abra la plantilla del descriptor auth-rank-connector.json o live-rank-connector.json correspondiente y rellene los valores siguientes que son específicos de su entorno:
    • Revise la definición del esquema de índices de rangos y actualícela si es necesario.
    • Actualice el SQL en ingest.database.sql para recuperar los datos de los rangos de ventas. Por ejemplo:
      SELECT FIELD1, CATENTRY_ID FROM CATENTRY WHERE FIELD1 IS NOT NULL
      ${paging.prefix} ${param.offset} ${paging.link} ${param.pageSize} ${paging.suffix}
    • Revise las asignaciones de los campos de índice para almacenar estos datos en el índice de rangos:
      CATENTRY_ID - id.catentry
      FIELD1 - custom.rank.numeric
      Note: *.numeric es un patrón de esquema dinámico que se asigna a un tipo de datos flotante.
  2. Rellene los datos de los rangos de ventas en el índice de productos.
    Para iniciar la copia inteligente en el índice de productos, utilice la siguiente API, siempre que los índices de búsqueda de eSite ya se hayan compilado.
    • POST /connectors/id/run?storeId=6970&envType=auth&nrt=true donde id es el nombre del conector, por ejemplo, auth.rank.
    • Esta operación solo copia valores nuevos o actualizados en el índice de rangos, mientras que los valores no modificados se ignorarán para minimizar las actualizaciones en el índice de productos, que a su vez ejecuta la invalidación de la memoria caché.
  3. Actualice el perfil de búsqueda.
    Para utilizar el nuevo rango de ventas a través del servicio de consulta, actualice el siguiente perfil de búsqueda para incluir una opción de ordenación adicional:
    • Altere temporalmente el perfil de búsqueda predeterminado para realizar búsquedas de términos, HCL_V2_findProductsBySearchTerm, para ordenar los resultados de las búsquedas utilizando el campo custom.rank.numeric.
    • Utilice la siguiente API para actualizar el perfil de búsqueda y almacenarlo en el registro de configuración Zookeeper.
      PUT /search/resources/api/v2/documents/profiles/HCL_V2_findProductsBySearchTerm

Results

Ha creado un nuevo índice personalizado que alberga el rango de ventas de cada producto. Puede utilizar este índice como opción de ordenación secundaria para la clasificación de la relevancia de las búsquedas predeterminadas que se utiliza normalmente para los resultados de las búsquedas.