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
-
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">
-
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.
-
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:
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.<!-- Spell correction field --> <field name="spellCorrection" type="wc_textSpellCorrection" indexed="true" stored="false" multiValued="true" />
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>
-
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úsquedaPara 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).OR
. Si está utilizando el operador de búsquedaAND
y prefiere mostrar sólo sugerencias pertinentes, considere la posibilidad de establecer la propiedadSpellCheckQueryOperator
enAND
.Note: Al utilizar el operadorOR
se relajan las condiciones para encontrar correcciones ortográficas, mientras que si se utiliza el operadorAND
, se producen menos correcciones ortográficas o ninguna.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