Plug-in de búsqueda de números de piezas parciales

La búsqueda de números de piezas se basa en la coincidencia de patrones de los números de piezas. Para esto, se deben añadir patrones de números de piezas en el archivo wc-component.json con la propiedad PartNumberPatterns y configurar SearchNLPPartNumberProviderHelper en el perfil NLP de PartNumber. Sin embargo, esto solo funciona para patrones definidos y no da es compatible con la búsqueda parcial.

Utilice el plug-in de búsqueda de números de piezas personalizado SearchNLPCustomPartNumberHelper para que la búsqueda de números de piezas funcione sin necesidad de utilizar un patrón y para añadir soporte para la búsqueda de número de piezas parcial. El nombre de clase SearchNLPPartNumberProviderHelper del perfil NLP debe cambiarse a SearchNLPCustomPartNumberHelper para activar el plug-in personalizado. Los nuevos campos utilizados para la búsqueda de patrones en el plug-in personalizado son default.sku.normalized y default.mpn.normalized. Los datos de estos campos se rellenan durante la indexación y también se normalizan (eliminando todos los caracteres especiales) con es_pattern_replace. El plug-in personalizado busca primero el término de búsqueda en el campo de índice configurado en la propiedad PatternSearch del archivo wc-component.json. Si el término de búsqueda coincide con un número de pieza completo o parcial y hay caracteres especiales en el término de búsqueda, se eliminarán todos los caracteres especiales.

  1. Para habilitar la búsqueda de números de piezas parciales, modifique temporalmente el HCL_NLPProfile para utilizar el plug-in de búsqueda de números de piezas personalizado.
    • Sustituya el nombre de clase PartNumber de SearchNLPPartNumberProviderHelper por SearchNLPCustomPartNumberHelper en el perfil NLP.
    • Puede utilizar el siguiente perfil para configurar el perfil NLP.
      http://<dataQueryHost>:<dataQueryPort>/search/resources/api/v2/documents/profiles/HCL_NLPProfile?profileType=NLP
  2. La búsqueda parcial está inhabilitada de forma predeterminada para las búsquedas de números de piezas. El atributo PatternSearch del nodo ZooKeeper wc-component.json/ component debe actualizarse para poder habilitarse.
    El valor predeterminado para la búsqueda de patrones es la coincidencia exacta de los cuatro criterios siguientes. Cada tipo de patrón se define de la siguiente manera.
    • Coincidencia exacta [term]#default.sku.normalized~10,default.mpn.normalized~5
    • Empieza por [term]*#default.sku.normalized~10,default.mpn.normalized~5
    • Termina por *[term]#default.sku.normalized~10,default.mpn.normalized~5
    • Contiene *[term]*#default.sku.normalized~10,default.mpn.normalized~5
    Los patrones incluyen dos partes:
    • Patrón, ejemplo; [término]
    • Nombre de campo separado por una coma, con valor añadido separado por ~.
  3. Si invoca al endpoint de configuración con la siguiente solicitud podrá consultar los datos de los patrones compatibles y realizar cambios en los nombres de campo y aumentar valores.
    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"
    				}
    			]
    		}
    	]
                   }
    }
    

    Se ha añadido una lista de caracteres especiales al filtro de caracteres pattern_replace_char_filter en la configuración de índice de productos. Con es_pattern_replace, este filtro de caracteres suprimirá los caracteres especiales de la correlación de valores de campo durante la indexación. El servicio de consulta aplicará el mismo patrón para eliminar caracteres especiales de los términos si se aplica un parche a la búsqueda de patrones.

    Para añadir un nuevo carácter, puede modificar el patrón en Configuración de índice de productos. Con ayuda del endpoint de configuración, es posible modificar el patrón del servicio de consulta.

    La propiedad PatternSearchSpecialCharacters tiene la lista de todos los caracteres especiales [!@%&*()_+=#$,.|<>?/{}\\[\\]-] en el archivo wc-component.json.

  4. El índice de productos de la palabra clave tipo con el normalizador : es_pattern_replace debe tener ese campo accesible para poder crear un nuevo campo con el valor añadido de la búsqueda de patrones. Este normalizador eliminará todos los caracteres especiales del valor del campo. A continuación, mediante el endpoint de configuración y la información del paso 3, puede configurar el nuevo campo en el servicio de consulta.
Note:
  • Si se añade un campo nuevo al índice, deberá volver a realizar la indexación.
  • Utilice el método de solicitud POST si es la primera vez que añade una configuración mediante el endpoint de configuración; de lo contrario, utilice el método de solicitud PATCH al ejecutar el endpoint de configuración.
  • Después de modificar la configuración, reinicie el servicio de consulta para que los cambios se reflejen.