Création d'un post-processeur de requête personnalisé
Un post-processeur de requêtes crée et modifie une réponse de recherche immédiatement après le renvoi de
QueryResponse depuis le serveur Solr.
Procedure
-
Créez une classe qui effectue les actions suivantes :
- S'étend à partir de la classe AbstractSearchQueryPostprocessor, et
- Implémente l'interface SearchQueryPostprocessor.
-
Implémentez la méthode
invoke, qui utilise l'objetSearchCriteriaet un tableau d'objets comme 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.Le tableau d'objets contient l'objetQueryResponsenatif, qui est initialisé par :super.invoke(SearchCriteria, queryResponseObjects);Trois variables d'instance peuvent être utilisées :- iSearchCriteria
- Représentation Java de l'expression de recherche d'origine.
- iQueryResponse
- Représentation Java des objets de réponse de requête de recherche natifs.
- iSearchResponseObject
- Représentation Java de l'objet SearchResponse utilisé avec les services REST.
-
Des méthodes d'aide 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 post-processeurs de requêtes par défaut, voir HCL Commerce Search fichier de configuration (wc-search.xml).
Example
Le téléchargement suivant contient un exemple de code pour la configuration d'un post-processeur personnalisé dans le fichier wc-search.xml et la façon dont il est utilisé pour ajouter plus de données dans l'objet de réponse final.