Gestión de corrección ortográfica

La corrección ortográfica se desencadena automáticamente cuando un comprador busca palabras mal escritas. Cuando una consulta con palabras mal escritas no devuelve resultados, se ejecuta de forma predeterminada una segunda consulta que contiene los principales términos sugeridos.

Procedure

  1. Actualice los valores del corrector ortográfico en el archivo solrconfig.xml:
    La corrección ortográfica en la HCL Commerce Search utiliza spellCheckComponent de Solr, que se define en el archivo solrconfig.xml:
     <searchComponent name="wc_spellcheck" class="solr.SpellCheckComponent"> 
    1. Actualice los valores de corrector ortográfico para adaptarlos a las necesidades de negocio:
      name
      Nombre del corrector ortográfico que se debe utilizar.
      field
      Campo cuyo contenido se utiliza para crear el resultado de corrector ortográfico.
      classname
      Clase de implementación de corrector ortográfico.
      distanceMeasure
      Algoritmo que se utiliza para calcular la distancia de términos.
      accuracy
      Nivel de precisión que se debe alcanzar para que se tenga en cuenta la sugerencia.
      maxEdits
      Número máximo de cambios durante la enumeración de términos. Normalmente este valor se establece en 1 o 2.
      minPrefix
      Prefijo común mínimo durante la enumeración de términos.
      maxInspections
      Número máximo de comprobaciones para cada sugerencia.
      minQueryLength
      Longitud mínima de sugerencia para la palabra que se debe considerar como una sugerencia.
      maxQueryFrequency
      Porcentaje máximo de documentos en los que aparecen sugerencias para la palabra que se debe considerar como correcto.
      thresholdTokenFrequency
      Porcentaje mínimo de documentos en los que deben aparecer sugerencias.
    2. Actualice el corrector ortográfico que lee la lista de palabras de un archivo:
       <lst name="spellchecker"> <str name="classname">solr.FileBasedSpellChecker</str> <str name="name">file</str> <str name="sourceLocation">spellings.txt</str> <str name="characterEncoding">UTF-8</str> <str name="spellcheckIndexDir">spellcheckerFile</str> </lst> 
  2. Actualice los valores de corrector ortográfico en el archivo wc-component.xml para adaptarlos a las necesidades de negocio:
    Note: Los parámetros que se definen en el archivo wc-component.xml sobrescriben los valores que se han definido en solrConfig.xml de forma predeterminada.
     <_config:property name="SpellCheckMaxResultsForSuggestion" value="3" /> <_config:property name="SpellCheckAlternativeTermCount" value="2" /> <_config:property name="SpellCheckOnlyMorePopular" value="" /> <_config:property name="SpellCheckMaxCollations" value="1" /> <_config:property name="SpellCheckMaxCollationTries" value="2" /> 

    Donde, por ejemplo, el valor de SpellCheckMaxResultsForSuggestion define que el escaparate sugiera tres productos de forma predeterminada.

  3. Actualice los valores de corrector ortográfico en el archivo schema.xml para que se adapten a sus necesidades de negocio.

    Los campos del archivo schema.xml utilizan valores de corrección ortográfica de forma predeterminada.

    Por ejemplo, en el archivo schema.xml:
     <!-- Spell correction field --> <field name="spellCorrection" type="wc_textSpellCorrection" indexed="true" stored="false" multiValued="true" /> 
    El campo spellCorrection es de tipo wc_textSpellCorrection y se le asignan los siguientes campos indexados: name, shortDescription, keyword, nameOverride, shortDescriptionOverride, keywordOverride. Como resultado, Solr busca estos campos cuando se sugieren términos de búsqueda alternativos.
    Puede añadir más campos para que se adapten a sus necesidades de negocio:
     <!-- Copy fields for spell correction --> <copyField source="name" dest="spellCorrection"/> <copyField source="shortDescription" dest="spellCorrection"/> <copyField source="keyword" dest="spellCorrection"/> <copyField source="nameOverride" dest="spellCorrection"/> <copyField source="shortDescriptionOverride" dest="spellCorrection"/> <copyField source="keywordOverride" dest="spellCorrection"/> 
     <!-- Spell correction text field --> <fieldType name="wc_textSpellCorrection" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> </analyzer> </fieldType> 
  4. Prueba y utilización de la corrección ortográfica en el catálogo:

    La corrección ortográfica busca todos los productos en el catálogo maestro entero y todos los catálogos de ventas de forma predeterminada. Puede limitarla al catálogo de ventas actual utilizando el valor de SpellCheckCollatedResultsOnly en el archivo wc-component.xml.

    Las correcciones ortográficas se realizan en todos los términos en el campo q de la consulta de Solr de forma predeterminada utilizando el operador de búsqueda OR. Si está utilizando el operador de búsqueda AND y prefiere mostrar sólo sugerencias pertinentes, considere la posibilidad de establecer la propiedad SpellCheckQueryOperator en AND.
    Note: Al utilizar el operador OR se relajan las condiciones para encontrar correcciones ortográficas, mientras que si se utiliza el operador AND, se producen menos correcciones ortográficas o ninguna.
    Para obtener más información sobre las propiedades de la corrección ortográfica, consulte Propiedades de búsqueda en el archivo de configuración de componente (wc-component.xml).
    Por ejemplo, la siguiente URL llama a Solr, utilizando el término de búsqueda que ha entrado, para solicitar que se devuelvan cinco frases similares (enlaces que se pueden buscar), utilizando un algoritmo predefinido (solrconfig.xml) en los campos especificados (schema.xml):
     http://solr_hostname:3737/solr/MC_masterCatalogID_CatalogEntry_locale /select?q=name:searchTERM&spellcheck.count=5&spellcheck=true&spellcheck.collate=false