HCL Commerce Version 9.1.13.0 or later

Recherche de mots clés séparés par des traits d'union

Le service Query peut identifier et rechercher des mots clés séparés par des traits d'union. Ce comportement a été ajusté dans les versions 9.1.13 ou ultérieures. Par défaut, les mots clés séparés par des traits d'union sont divisés en jetons distincts lors de l'indexation et de la recherche, mais il existe une option permettant d'activer la recherche de mots clés séparés par des traits d'union avec un trait d'union intact.

Gestion des mots séparés par des traits d'union avant la version 9.1.13

Lors de la recherche, le service Query identifie tous les mots clés séparés par des traits d'union et effectue sa recherche sur les zones natural.noun.* + query disponibles dans le profil de recherche actuel. Dans le cas de mots clés séparés par des traits d'union, le service Query casse le mot clé en le fractionnant au niveau du tiret, puis génère la requête Elasticsearch à l'aide des termes séparés sans le tiret, comme illustré ci-dessous.

Gestion des mots clés séparés par des traits d'union dans les versions 9.1.13 ou ultérieures

Le service Query n'a plus besoin de supprimer le trait d'union. Il peut générer une requête Elasticsearch avec le trait d'union comme indiqué ci-dessous. Il existe un bloc de définition distinct pour le mot clé séparé par des traits d'union et ces mots clés seront recherchés dans toutes les zones naturelles et les zones de requête du profil de recherche.

Le comportement par défaut consiste toujours à fractionner le mot clé. Les mots clés séparés par des traits d'union seront divisés en jetons distincts lors de l'indexation et de la recherche. Vous pouvez contrôler ce comportement pour le service Query dans le fichier de configuration wc-component.json. Dans ce fichier, le paramètre de configuration est nlp.split.hyphenated.word : true. Dans NiFi, il existe deux endroits où la propriété est utilisée pour gérer le fractionnement des mots séparés par des traits d'union. Ici aussi, le fractionnement est activé par défaut.

Utilisez la procédure suivante pour activer le traitement mots clé séparés par des traits d'union sans fractionnement.
  1. Localisez les panneaux Service NLP, groupe de processus > Rechercher les produits naturels dans les propriétés du processeur de cache dans la zone de conception NiFi. Ouvrez la fenêtre Détails du processeur et sélectionnez l'onglet Propriétés. Spécifiez la valeur Split Hyphenated Word sur true.
  2. Ouvrez l'interface de Configuration du service NLP. Sélectionnez l'onglet Services de contrôleur et cliquez deux fois sur la ligne Service de contrôleur CoreNLP de la table. La fenêtre Détails du service de contrôleur s'ouvre. Sélectionnez l'onglet Propriétés et définissez la valeur Split Hyphenated Word sur true.
Pour désactiver le service, procédez comme suit.
  1. Effectuez les modifications de configuration suivantes dans la zone de conception NiFi.
    1. Suivez le même processus que celui utilisé pour activer les deux propriétés dans Rechercher les produits naturels dans les propriétés de cache et Service de contrôleur CoreNLP, mais définissez chaque propriété sur false.
    2. Remplacez la valeur tokenizer de standard en whitespace dans le schéma du produit pour chacun des analyseurs répertoriés ci-dessous.
      ---Path---
      Nifi Flow >> auth.reindex – Product Schema >> set up elastic search index schema >>populate product index schema
      Nifi Flow >> live.reindex – Product Schema >> set up elastic search index schema >>populate product index schema
      -	custom_analyzer
      -	custom_en_US_analyzer
      -	custom_fr_FR_analyzer
      -	custom_it_IT_analyzer
      -	custom_ja_JP_analyzer
      -	custom_ko_KR_analyzer
      -	custom_ko_KR_analyzer
      -	custom_pt_BR_analyzer
      -	custom_ro_RO_analyzer
      -	custom_de_DE_analyzer
      -	custom_ru_RU_analyzer
      -	custom_ar_EG_analyzer
      -	custom_es_ES_analyzer
      
  2. Supprimez toutes les données d'index NLP existantes.
  3. Redémarrez le service NiFi.
  4. Dans le service Query, mettez à jour la propriété du paramètre Config nlp.split.hyphenated.word : false à l'aide d'une requête POST ou PATCH par rapport au nœud final suivant.
    POST/PATCH http://dataQueryHost:dataQueryPort/search/resources/api/v2/configuration?nodeName=component&envType=auth
    Request Body
    {
        "extendedconfiguration": {
            "configgrouping": [
                {
                    "name": "SearchConfiguration",
                    "property": [
                        {
                            "name": "nlp.split.hyphenated.word",
                            "value": "false"
                        }
                    ]
                }
            ]
        }
    }
    
  5. Déclenchez une opération de réindexation complète.
  6. Redémarrez le service Query.