Gestion de la correction orthographique

La correction orthographique est automatiquement déclenchée lorsqu'un client recherche des mots mal orthographiés. Lorsqu'une requête avec des mots mal orthographiés ne renvoie aucun résultat, une deuxième requête qui contient les principaux termes suggérés est exécutée par défaut.

Procedure

  1. Mettez à jour les valeurs du vérificateur orthographique dans le fichier solrconfig.xml :
    La correction orthographique dans HCL Commerce Search utilise le paramètre spellCheckComponent Solr, défini dans le fichier solrconfig.xml :
     <searchComponent name="wc_spellcheck" class="solr.SpellCheckComponent"> 
    1. Mettez à jour les valeurs du vérificateur orthographique en fonction de vos besoins métier :
      nom
      Nom du vérificateur orthographique à utiliser.
      zone
      La zone utilisée pour générer le résultat du vérificateur orthographique.
      classname
      La classe d'implémentation du vérificateur orthographique.
      distanceMeasure
      L'algorithme utilisé pour calculer les termes de distance.
      accuracy
      Le niveau de précision qui doit être atteint pour que la suggestion soit prise en considération.
      maxEdits
      Le nombre maximal de modifications au cours de l'énumération des termes. Cette valeur est généralement définie sur 1 ou 2.
      minPrefix
      Le préfixe commun minimal pendant l'énumération des termes.
      maxInspections
      Le nombre maximal de contrôles pour chaque suggestion.
      minQueryLength
      La durée minimale de suggestion pour que le mot soit considéré comme une suggestion.
      maxQueryFrequency
      Le pourcentage maximal de documents dans lesquels des suggestions apparaissent pour que le mot soit considéré comme correct.
      thresholdTokenFrequency
      Le pourcentage minimum de documents dans lesquels les suggestions doivent figurer.
    2. Mettez à jour le vérificateur orthographique qui lit la liste des mots depuis un fichier :
       <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. Mettre à jour les valeurs du vérificateur orthographique dans le fichier wc-component.xml en fonction de vos besoins métier :
    Note: Les paramètres définis dans le fichier wc-component.xml remplacent les valeurs définies dans le fichier solrConfig.xml par défaut.
     <_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" /> 

    Lorsque, par exemple, la valeur SpellCheckMaxResultsForSuggestion définit que la vitrine suggère trois produits par défaut.

  3. Mettre à jour les valeurs du vérificateur orthographique dans le fichier schema.xml en fonction de vos besoins métier.

    Les zones du fichier schema.xml utilisent par défaut les valeurs de correction orthographique.

    Par exemple, dans le fichier schema.xml :
     <!-- Spell correction field --> <field name="spellCorrection" type="wc_textSpellCorrection" indexed="true" stored="false" multiValued="true" /> 
    La zone spellCorrection est de type wc_textSpellCorrection, et les zones indexées suivantes lui sont affectées : name, shortDescription, keyword, nameOverride, shortDescriptionOverride, keywordOverride. Par conséquent, Solr effectue des recherches dans ces zones lorsque des termes de recherche alternatifs sont suggérés.
    Vous pouvez ajouter d'autres zones en fonction de vos besoins métier :
     <!-- 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. Test et utilisation de la correction orthographique dans votre catalogue :

    La correction orthographique recherche tous les produits dans l'ensemble du catalogue principal et tous les catalogues de vente par défaut. Vous pouvez la limiter au catalogue de vente actuel à l'aide du paramètre SpellCheckCollatedResultsOnly dans le fichier wc-component.xml.

    Les vérifications orthographiques sont effectuées par défaut par rapport à tous les termes de la zone q de la requête Solr à l'aide de l'opérateur de recherche OR. Si vous utilisez l'opérateur de recherche AND et préférez afficher uniquement les suggestions pertinentes, envisagez de définir la propriété SpellCheckQueryOperator sur AND.
    Note: L'utilisation de l'opérateur OR assouplit les conditions pour rechercher les corrections de vérification orthographique, tandis que l'utilisation de l'opérateur AND produit moins de corrections de vérification orthographique.
    Pour plus d'informations sur les propriétés de la vérification orthographique, voir Propriétés de recherche dans le fichier de configuration de composant (wc-component.xml).
    Par exemple, l'URL suivante appelle Solr, à l'aide du terme de recherche que vous avez saisi, pour demander le retour de cinq phrases similaires (liens consultables), à l'aide d'un algorithme prédéfini (solrconfig.xml) sur les zones spécifiées (schema.xml) :
     http://solr_hostname:3737/solr/MC_masterCatalogID_CatalogEntry_locale /select?q=name:searchTERM&spellcheck.count=5&spellcheck=true&spellcheck.collate=false