Servicio de consulta

El servicio de consulta crea las expresiones de búsqueda y, a continuación, entrega la expresión a Elasticsearch. También toma los resultados de la consulta y los convierte de nuevo a un formato que pueda ser utilizado por el escaparate. El escaparate no necesita saber que la respuesta fue generada por Elasticsearch en lugar de Solr.

En HCL Commerce Search versión 9.1, las consultas de búsqueda se crean utilizando el microservicio de consulta. Se utiliza para crear las consultas de búsqueda que se pasarán al motor de Elasticsearch. La función de creación de consultas se ha incorporado al contenedor de Docker de búsqueda en versiones anteriores de HCL Commerce, pero como un microservicio aparte ahora es más fácil de direccionar y personalizar.

Controlar consulta utilizando REST

Los servicios de consulta y de introducción son las únicas API que son visibles desde fuera de la pasarela. El servicio expone sus propios REST puntos finales, tal como se describe en Especificaciones de API de servicio de consulta.

Todas estas heurísticas se aplican en la creación de la consulta de búsqueda, que luego se pasa a Elasticsearch.

El servicio de consulta consta de clases Java habilitadas para REST implementadas como controladores de inicio Spring. Spring boot es una infraestructura basada en Java de código abierto para crear micro-servicios. Las clases anotadas que se exponen de forma predeterminada son:
  • Vista de producto,
  • Vista de categorías y
  • Vista Contenido
Puede añadir su propio punto final personalizado añadiendo nuevas clases Java anotadas. Este método hace que sea innecesario modificar el descriptor de despliegue o los archivos de propiedades.

Todas las configuraciones, incluido el perfil de búsqueda, las configuraciones de tiempo de ejecución y la invalidación de memoria caché, se pueden configurar mediante la API REST y se almacenan en ZooKeeper. Puede utilizar la herencia y las alteraciones de valor al configurar los perfiles de búsqueda. Cualquier lógica personalizada a la que hagan referencia los perfiles de búsqueda se puede implementar y enviar en archivos de clase Java, empaquetada y reconstruida en una imagen de Docker personalizada

Para revisar la API, consulte la API REST de consulta.

Procesador de lenguaje natural

Además de las prestaciones de búsqueda de texto y búsqueda de texto proporcionadas por el servicio de consulta se integra un analizador de lenguaje natural en el servicio de consulta para mejorar la relevancia de la búsqueda. El analizador de lenguaje natural utiliza CoreNLP para el etiquetado y lematización de parte del habla. El servicio de consulta de HCL Commerce Search también proporciona las siguientes características adicionales al analizar la frase de búsqueda utilizada por un comprador:
  • Análisis de lenguaje natural con etiquetado de parte del discurso de CoreNLP, extracción de entidad con nombre: sustantivos y nombres frente a marcas y nombres de productos, y adjetivos frente a valores de atributos
  • Matchmaker para el mapeador de nombres de colores, medidas y mapeadores de rangos de dimensiones para identificar valores de atributos en las proximidades.
  • Conversión de medidas para longitud, peso, volumen, fecha y hora.
  • Filtro de rango que puede identificar una condición de rango en una frase de búsqueda determinada y asignarla a un filtro de rango para la búsqueda.
El creador de consultas puede reconocer atributos comunes de un producto, como el color y la dimensión, incluso si estos se expresan en un lenguaje coloquial razonable por ejemplo, el servicio puede analizar correctamente una cadena de búsqueda como "Busco un par de zapatos de vestir blancos", haciendo lo siguiente:
  • Identificar el propósito de la sentencia como "Comprar".
  • Realizar la extracción de nombre-entidad mediante un diccionario personalizado (añadido a través de formación anterior) para identificar "zapatos de vestir" como un nombre.
  • Utilizar el nombre "zapatos de vestir" para buscar en el campo de catálogo de nombre de producto.
  • Identificar "blanco" como un adjetivo y utilizarlo para buscar en los campos de catálogo de atributos.
  • Identificar el valor "blanco" como un nombre de color y normalizarlo en el código RGB FFFFFF. Los colores "claros" se pueden normalizar para cualquier elemento con un código RGB mayor que A0A0A0.
  • En el momento del índice, normalizando el nombre de color "crema" a un código RGB de familia de color primario.
  • Mediante la clasificación de texto, la identificación de "zapatos de vestir" (a través de un diccionario personalizado) tiene la categoría "zapatos" y un filtro adicional con el nombre de categoría que contiene "zapatos" (lematizado).
En el caso de las dimensiones, el servicio puede analizar la cadena de búsqueda "buscarme un televisor de 72 pulgadas" y reconocer correctamente que "72 pulgadas" es un adjetivo, que se utiliza para buscar en los campos de atributo del catálogo. En este caso, el valor "pulgada" se identifica como un nombre de dimensión y su valor se convertirá si es necesario en otras medidas de longitud soportadas, como por ejemplo "cm" y "metro".

Para obtener más información, consulte Relevancia del texto en la búsqueda de HCL Commerce y .Procesamiento del lenguaje natural (PLN) en la versión 9.1