HCL Commerce Version 9.1.13.0 or later

Búsqueda de palabras clave con guion

El servicio de consulta puede identificar y buscar palabras clave con guion. Este comportamiento se ha ajustado en la versión 9.1.13 en adelante. De forma predeterminada, las palabras clave con guion se dividen en tokens separados durante la indexación y la búsqueda, pero existe una opción para habilitar la búsqueda de palabras clave con guion que permite mantener el guion intacto.

Cómo se gestionan las palabras con guion en las versiones anteriores a 9.1.13

Durante la búsqueda, el servicio de consulta identifica todas las palabras clave con guion y realiza la búsqueda en los campos natural.noun.* + query disponibles en el perfil de búsqueda actual. En el caso de palabras clave con guion, el servicio de consulta rompe la palabra clave dividiéndola justo donde está el guion y, a continuación, genera la consulta de Elasticsearch mediante los términos separados y sin el guion, tal y como se muestra a continuación.

Gestión de palabras clave con guion en versiones posteriores a 9.1.13

El servicio de consulta ya no necesita eliminar el guion. Puede generar una consulta de Elasticsearch manteniendo el guion, tal y como se muestra a continuación. Hay un bloque de definición independiente para las palabra clave con guion, y esas palabras clave se buscarán en todos los campos naturales y campos de consulta del perfil de búsqueda.

El comportamiento predeterminado sigue consistiendo en dividir la palabra clave. Las palabras clave con guion se dividirán en tokens separados durante la indexación y la búsqueda. Puede controlar este comportamiento del servicio de consulta en el archivo de configuración wc-component.json. En este archivo, el parámetro de configuración es nlp.split.hyphenated.word : true. En NiFi, la propiedad se utiliza en dos lugares para gestionar la división de palabras con guion. Aquí también está habilitada la división de forma predeterminada.

Utilice el siguiente procedimiento para habilitar el procesamiento del uso de guiones en palabras clave sin dividirlas.
  1. Localice los paneles de Servicio NLP, Grupo de procesos > Buscar lenguajes naturales en las propiedades del procesador de la memoria caché en el lienzo NiFi. Abra la ventana Detalles del procesador y seleccione la pestaña Propiedades. Establezca el valor de Split Hyphenated Word en "true".
  2. Abra la interfaz de Configuración de servicio NLP. Seleccione la pestaña Servicios de controlador y haga doble clic en la fila Servicio de controlador CoreNLP de la tabla. Se abrirá la ventana Detalles del servicio de controlador. Seleccione la pestaña Propiedades y establezca el valor Split Hyphenated Word a true.
Para inhabilitar el servicio, lleve a cabo los siguientes pasos.
  1. Realice los siguientes cambios en la configuración en el lienzo NiFi.
    1. Siga el mismo proceso para habilitar las dos propiedades en Buscar lenguajes naturales en las propiedades de la memoria caché y Servicio del controlador CoreNLP, pero establezca cada propiedad en false.
    2. Cambie el valor tokenizer de standard a whitespace en el esquema del producto para cada uno de los analizadores que se muestran a continuación.
      ---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. Suprima todos los datos del índice NLP.
  3. Reinicie el servicio NiFi
  4. En el servicio de consulta, actualice la propiedad nlp.split.hyphenated.word : false del parámetro "Config" utilizando una consulta POST o PATCH en el siguiente endpoint.
    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. Ejecute una operación de reindexación completa.
  6. Reinicie el servicio de consulta.