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
-
Créez une classe qui effectue les actions suivantes :
- S'étend à partir de la classe AbstractSearchQueryPreprocessor, et
- Implémente l'interface SearchQueryPreprocessor.
-
Implémentez la méthode
invoke, qui utilise l'objetSearchCriteriaet unvarargscomme paramètres d'entrée. Cet objetSearchCriteriaest 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.Levarargscontient l'objetqueryRequestObjectsnatif, 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.
-
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é :