Plug-in de recherche de numéro de référence partiel

La recherche de numéro de référence est basée sur le modèle correspondant au numéro de référence. Pour ce faire, ajoutez des modèles de numéro de référence dans le fichier wc-component.json avec la propriété PartNumberPatterns et configurez SearchNLPPartNumberProviderHelper dans le profil NLP pour PartNumber. Mais cette approche ne fonctionne que pour les modèles définis et ne prend pas en charge la recherche partielle.

Utilisez le plug-in de recherche de numéro de référence personnalisé SearchNLPCustomPartNumberHelper pour que la recherche de numéro de référence fonctionne sans utiliser de modèle et pour ajouter la prise en charge de la recherche partielle de numéros de référence. Le nom de classe SearchNLPPartNumberProviderHelper dans le profil NLP doit être remplacé par SearchNLPCustomPartNumberHelper afin d'activer le plug-in personnalisé. Les nouvelles zones utilisées pour la recherche de modèle dans le plug-in personnalisé sont default.sku.normalized et default.mpn.normalized. Les données de ces zones sont renseignées au moment de l'index et elles sont également normalisées (en supprimant tous les caractères spéciaux) avec le normaliseur es_pattern_replace. Le plug-in personnalisé recherche d'abord le terme de recherche d'entrée dans la zone d'index configurée dans la propriété PatternSearch du fichier wc-component.json. Si le terme de recherche correspond à un numéro de référence ou à un numéro de référence partiel et qu'il y a des caractères spéciaux dans le terme de recherche, tous les caractères spéciaux seront supprimés.

  1. Pour activer la recherche partielle de numéros de référence, remplacez HCL_NLPProfile pour utiliser le plug-in de recherche de numéro de référence personnalisé.
    • Remplacez le nom de classe PartNumber de SearchNLPPartNumberProviderHelper par SearchNLPCustomPartNumberHelper dans le profil NLP.
    • Le profil suivant peut être utilisé pour configurer le profil NLP.
      http://<dataQueryHost>:<dataQueryPort>/search/resources/api/v2/documents/profiles/HCL_NLPProfile?profileType=NLP
  2. La recherche partielle est désactivée par défaut pour les recherches de numéros de référence. L'attribut PatternSearch dans le nœud ZooKeeper wc-component.json/ component doit être mis à jour pour être activé.
    La valeur par défaut pour la recherche de modèle correspond exactement aux quatre critères suivants. Chaque type de modèle est défini comme suit.
    • Correspondance exacte [term]#default.sku.normalized~10,default.mpn.normalized~5
    • Commence par [term]*#default.sku.normalized~10,default.mpn.normalized~5
    • Se termine par *[term]#default.sku.normalized~10,default.mpn.normalized~5
    • Contient *[term]*#default.sku.normalized~10,default.mpn.normalized~5
    Les modèles comprennent deux parties :
    • Modèle, exemple ; [terme]
    • Nom de zone séparé par des virgules, avec une valeur de pondération séparée par ~.
  3. L'appel du nœud final de configuration avec la requête suivante vous permettra d'interroger les données pour les modèles pris en charge et d'apporter des modifications aux noms de zone et aux valeurs de pondération.
    PATCH/ POST -- http://<dataqueryhost>:<port>/search/resources/api/v2/configuration?nodeName=component&envType=auth
    {
    	"extendedconfiguration": {
    		"configgrouping": [
    			{
    			"name": "SearchConfiguration",
    				"property": [
    				{
    				"name": "PatternSearch",
    				"value": "*[term]*#default.sku.normalized~10,default.mpn.normalized~5"
    				}
    			]
    		}
    	]
                   }
    }
    

    Une liste de caractères spéciaux a été ajoutée au filtre de caractères pattern_replace_char_filter dans les paramètres d'index du produit. Avec le normaliseur es_pattern_replace, ce filtre de caractères supprimera tous les caractères spéciaux de la mappe de valeurs de zone au moment de l'index. Le service de requête appliquera le même modèle pour supprimer des caractères spéciaux des termes si un correctif est appliqué à la recherche de modèle.

    Pour ajouter un nouveau caractère, le modèle peut être modifié dans les paramètres d'index du produit. A l'aide du nœud final de configuration, le modèle de service de requête peut être modifié.

    La propriété PatternSearchSpecialCharacters contient la liste de tous les caractères spéciaux [!@%&*()_+=#$,.|<>?/{}\\[\\]-] dans le fichier wc-component.json.

  4. L'index de produit de type mot clé avec le normaliseur : es_pattern_replace doit avoir cette zone accessible afin de créer une zone avec une valeur de stimulation pour la recherche de modèle. Les caractères spéciaux de la valeur de zone seront tous éliminés par ce normaliseur. Ensuite, à l'aide du nœud final de configuration et des informations de l'étape 3, vous pouvez configurer la nouvelle zone dans le service de requête.
Note:
  • Si une nouvelle zone est ajoutée à l'index, la réindexation est requise.
  • Utilisez la méthode de requête POST si c'est la première fois que vous ajoutez une configuration à l'aide du nœud final de configuration. Sinon, utilisez la méthode de requête PATCH lors de l'exécution du nœud final de configuration.
  • Après avoir modifié la configuration ci-dessus, redémarrez le service Query.