Création d'un pré-processeur de requêtes personnalisé

Un pré-processeur de requêtes modifie l'objet SolrQuery juste avant qu'il ne soit envoyé au serveur Solr pour traitement.

Procédure

  1. Créez une classe qui effectue les actions suivantes :
    1. S'étend à partir de la classe AbstractSearchQueryPreprocessor, et
    2. Implémente l'interface SearchQueryPreprocessor.
  2. Implémentez la méthode invoke, qui utilise l'objet SearchCriteria et un varargs comme paramètres d'entrée. Cet objet SearchCriteria est une représentation Java de l'expression de recherche d'origine, où chaque critère de recherche est stocké en tant qu'objet de paramètre de contrôle.
    Le varargs contient l'objet queryRequestObjects natif, qui est initialisé par :
    super.invoke(SearchCriteria, queryRequestObjects);
    Deux variables d'instance peuvent être utilisées :
    iSearchCriteria
    Représentation Java de l'expression de recherche d'origine.
    queryRequestObjects
    Représentation Java des objets d'interrogation de requête de recherche natifs.
  3. Les méthodes auxiliaires sont disponibles à partir de leur classe abstraite, qui peut être utilisée pour effectuer une récupération à partir des paramètres de contrôle :
    
    String term = getControlParameterValue(SearchServiceConstants.CTRL_PARAM_SEARCH_TERM);
    

    Pour obtenir une liste des paramètres de contrôle pris en charge, voir HCL Commerce Search Interface.

    Pour plus d'informations sur les pré-processeurs de requête par défaut, voir HCL Commerce Search fichier de configuration (wc-search.xml).

Exemple

Le téléchargement suivant contient un exemple de code pour la création d'un pré-processeur de requêtes personnalisé :