Limiter les termes et les caractères de recherche de la requête de recherche

Vous pouvez limiter les termes et les caractères de recherche spécifiques de la requête de recherche tels que les mots sans importance, les radicaux ou la désactivation des caractères génériques et d'autres caractères.

Procédure

  • Suppression des mots sans importance de la requête de recherche :
    Les mots neutres suppriment les catégories grammaticales classiques qui sont généralement sans importance. Tels que le, et ou pour. Ils sont définis dans le fichier stopwords.txt. Par exemple, si un client recherche la chemise dans la vitrine, la est ignoré par Solr.

    Pour activer la fonction des mots neutres :

    1. Copiez le fichier solrhome/MC_masterCatalogID/locale/CatalogEntry/conf/stopwords.txt vers un emplacement qui sera accessible dans le conteneur du serveur de recherche.
    2. Ajoutez la valeur stopwords=stopwords_file_path à la colonne CONFIG de la table de base de données SRCHCONFEXT, où stopwords_file_path est le chemin d'accès relatif au fichier détectable dans le conteneur. La commande pour insérer les données est update srchconfextset config='stopwords_en=stopwords_file_path' where srchconfext_id=x;, où stopwords_en=stopwords_file_path est le chemin d'accès au fichier stopwords.txt et x doit être remplacé par votre ID souhaité. Normalement, il s'agit de l'enregistrement du sous-type d'index "Structured" avec une certaine langue.
    3. Redémarrez le serveur HCL Commerce Search.

    Pour créer une liste de mots neutres spécifiques à la langue, ajoutez le code de langue au paramètre mots neutres de l'entrée de base de données. Cette version de la valeur utilise la forme stopwords_lang=stopwords_lang_file_path, où stopwords_lang_file_path est le chemin d'accès au fichier de mots neutres spécifiques à la langue.

    Par exemple, si vous souhaitez ajouter vos propres mots neutres français, ajoutez stopwords_fr= stopwords_fr_file_path à la colonne CONFIG de la table SRCHCONFEXT.

    Les mots neutres sont pris en compte à la fois au moment de l'indexation et de l'interrogation.

    Si vous utilisez le type de recherche AND, aucun résultat de recherche n'est renvoyé, puisque le est défini dans le fichier stopwords.txt. Pour plus d'informations, voir StopFilterFactory.

  • Prévention de la recherche du radical :
    Si vous souhaitez protéger certains mots contre la création de radicaux, vous pouvez les ajouter dans le fichier protwords.txt.
  • Désactiver les caractères génériques et d'autres recherches de caractères :
    La recherche à l'aide de caractères génériques est activée par défaut, mais si besoin est, vous pouvez la désactiver pour optimiser les performances d'exécution ou pour des raisons de sécurité :
    • Les performances peuvent être affectées, car une recherche de caractères génériques qui utilise un terme courant peut renvoyer de nombreux documents depuis l'index de recherche.
    • La sécurité peut être une considération, car Solr n'analyse pas et n'applique pas de filtres aux recherches de caractères génériques.

    Une liste de mots interdits, configurable dans le fichier wc-component.xml, permet d'interrompre la requête de recherche.

    Par exemple, lorsque vous lancez une recherche sur *, par défaut, la page de résultats est routée vers la page de magasin Caractères interdits.

    La configuration par défaut est la suivante :
    
    <_config:property name="StopPatterns" 
    value="\*,~,\?,&apos;&apos;,&quot;&quot;,.*\\.*,.*/.*,.*\|.*" /> 

    Vous pouvez mettre à jour la configuration pour désactiver les recherches de caractères génériques (*) ou d'autres caractères à l'aide du format d'expression régulière.