Extension des recherches de catégorie dans Elasticsearch
Pour améliorer la pertinence des résultats de recherche, vous pouvez utiliser le nœud final REST /configuration pour modifier ou étendre le niveau de l'arborescence de catégories incluse dans la recherche de catégorie.
Recherche de catégories avec Elasticsearch
CATEGORY=natural.categories.normalized, natural.categories.raw, natural.nouns.raw, natural.nouns.normalizedModification de la portée de la recherche de catégorie
Si vous le souhaitez, pour activer la recherche de catégorie, activez la recherche de catégorie avec un chemin complet de la catégorie, puis remplacez natural.categories.normalized, natural.categories.rawpar natural.path_name.normalized.
Pour activer la recherche de catégorie, cette zone peut être mise à jour ou les zones précédentes en utilisant le nœud final /configuration comme ci-dessous avec les méthodes de requête PATCH ou POST.
PATCH/POST - http://<dataQueryHost>:<dataQueryPort>/search/resources/api/v2/configuration?nodeName=component&envType=auth{ "extendedconfiguration": { "configgrouping": [ { "name": "SearchConfiguration", "property": [ { "name": "nlp.classification.field.mapping", "value": "NOUN=natural.nouns.normalized#natural.nouns.raw,CATEGORY=natural.path_name.normalized#natural.nouns.raw#natural.nouns.normalized,BRAND_NAME=natural.names.normalized#natural.names.raw,ADJECTIVES=natural.adjectives.normalized#natural.adjectives.raw#natural.nouns.raw#natural.nouns.normalized,ADJECTIVES_NAME=attribute.name.normalized#attribute.name.raw#natural.nouns.raw#natural.nouns.normalized,UNIT_OF_MEASURE_DEFAULT_FIELD=attribute.value.raw#natural.nouns.raw#natural.nouns.normalized,STA_QUERY_FIELD=natural.nouns.normalized#natural.nouns.raw,ROOT_BOOSTING_FIELD=nlp.name.normalized#nlp.keyword.text" } ] } ] } } - Si c'est la première fois que vous ajoutez la configuration via le nœud final /configuration, utilisez la méthode de requête POST. Sinon, utilisez la méthode de requête PATCH.
- Avant de mettre à jour la zone, assurez-vous que la zone natural.path_name.normalized est mise à jour. Si la zone n'est pas présente, effectuez une réindexation complète pour ajouter la zone à l'index de produit.
- Après avoir ajouté ou mis à jour la configuration, redémarrez le service Query.
Activation de la recherche par catégorie pour les catégories autres que celles de niveau feuille
HCL Commerce permet aux clients de rechercher des produits en fonction du nom de leur catégorie parente associée, ou dans le cas d'une liste de noms de catégories. Une telle situation peut se produire lorsque des catégories liées ou une recherche de chemin de catégorie complète sont activées aux fins d'une recherche. Une fois qu'une correspondance de nom de catégorie est identifiée, tous les produits de cette catégorie sont renvoyés dans les résultats de recherche. Un affinement supplémentaire est possible en incluant d'autres termes dans la même expression de recherche. Par exemple, l'expression de recherche « robes Gusso » comprend le nom de la marque Gusso et un nom de catégorie (ainsi qu'un nom de produit), à savoir « robes ». Cette recherche renverra tous les produits des catégories dont le nom contient « robes » et qui sont de la marque Gusso, suivis par tous les autres produits dont le nom ou la description abrégée ne correspond qu'à « Gusso » ou à « robes ».
La recherche par catégorie est désactivée dans Basic NLP. Cela signifie que lors de l'exécution de recherches par mots clés, seules les catégories de niveau feuille sont prises en compte au moment d'établir une correspondance entre le terme saisi et les catégories. Vous pouvez aussi configurer le système pour qu'il établisse une correspondance entre le terme saisi et des catégories autres que celles de type feuille, à l'aide du point de terminaison de configuration suivant. Définissez la valeur de la propriété Ingest flow.basic.nlp.category.search sur true. Par défaut, la recherche par catégorie est désactivée>. Suivez les étapes ci-dessous pour l'activer.
- Exécutez une requête PATCH vers l'API de configuration Ingest avec le corps de la requête inclus.
PATCH - http://dataQueryHost:dataQueryPort/search/resources/api/v2/configuration?nodeName=ingest&envType=auth { "global": { "connector": [ { "name": "attribute", "property": [ { "name": "flow.basic.nlp.category.search", "value": "true" } ] } ] } } - Effectuez une réindexation complète. Voir Création de l'index Elasticsearch pour la procédure.
- Redémarrez le service Query. Pour plus d'informations, voir Démarrage du conteneur Query Docker avec configurations par défaut.