service de requête
Le service Query génère les expressions de recherche, puis transmet l'expression à Elasticsearch. Il prend également les résultats de la requête et les convertit en un format qui peut être utilisé par la vitrine. La vitrine n'a pas besoin de savoir que la réponse a été générée par Elasticsearch plutôt que par Solr.
Dans HCL Commerce Search version 9.1, les requêtes de recherche sont générées à l'aide du microservice Query. Il est utilisé pour créer les requêtes de recherche qui seront transmises au moteur Elasticsearch. La fonction de génération de requêtes a été intégrée dans le conteneur Docker de recherche dans les versions précédentes de HCL Commerce mais, puisqu'il s'agit d'un microservice distinct, il est maintenant plus facile à traiter et à personnaliser.
Contrôle de la requête à l'aide de REST
Les services Query et Ingest sont les seules API visibles depuis l'extérieur de la passerelle. Le service expose ses propres nœuds finaux REST, comme décrit dans Spécifications API du service Query.
Tous ces heuristiques sont appliqués dans la génération de la requête de recherche, qui est ensuite transmise à Elasticsearch.
- La vue Produit,
- la vue Catégorie et
- la vue Contenu.
Toutes les configurations, y compris le profil de recherche, les configurations d'exécution et l'invalidation du cache, peuvent être définies via l'API REST et sont stockées dans ZooKeeper. Vous pouvez utiliser les valeurs existantes et les substitutions de valeur lors de la configuration de vos profils de recherche. Toute logique personnalisée référencée par les profils de recherche peut être implémentée et expédiée dans des fichiers de classe Java, packagés et regénérés en une image Docker personnalisée
Pour examiner l'API, voir API REST de Query.
Processeur de langage naturel
- L'analyse du langage naturel avec l'étiquetage CoreNLP de parties grammaticales, l'extraction d'entité nommée – noms par rapport aux marques et aux noms de produit, et adjectifs par rapport aux valeurs d'attribut
- Matchmaker pour le mappeur de nom de couleur, la mesure et le mappeur de plage de dimensions pour identifier les valeurs d'attribut à proximité proche.
- Conversion de mesure pour la longueur, le poids, le volume, la date et l'heure.
- Filtre de plage qui peut identifier une condition de plage dans une phrase de recherche donnée et la mapper dans un filtre de plage pour la recherche.
- Identifiez l'intention de l'instruction comme "Acheter".
- Réalisez l'extraction de nom-entité à l'aide d'un dictionnaire personnalisé (ajouté via la formation précédente) pour identifier "chaussures habillées" en tant que nom.
- Utilisez le nom "chaussures habillées" pour effectuer une recherche dans la zone de catalogue Nom du produit.
- Identifiez la catégorie grammaticale "blanches" comme adjectif et utilisez-la pour effectuer une recherche dans les zones de catalogue Attribut.
- Identifiez la valeur "blanche" comme un nom de couleur et normalisez-la au code RGB FFFFFF. Les couleurs "claires" peuvent être normalisées à tout ce qui a un code RGB supérieur à A0A0A0.
- Au moment de l'indexation, normalisez le nom de couleur "crème" à une famille de couleurs primaires RGB dont le code est FFFFFF.
- Via la classification de texte, identifiez "chaussures habillées" (par le biais d'un dictionnaire personnalisé) comme relevant de la catégorie "chaussures" et un filtre supplémentaire avec le nom de catégorie contenant "chaussures" (lemmatisé).
Pour plus d'informations, voir Pertinence du texte dans HCL Commerce Search et .Traitement du langage naturel (NLP) dans la version 9.1