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

  1. Créez une classe qui effectue les actions suivantes :
    1. S'étend à partir de la classe AbstractSearchQueryPostprocessor, et
    2. Implémente l'interface SearchQueryPostprocessor.
  2. Implémentez la méthode invoke, qui utilise l'objet SearchCriteria et un tableau d'objets 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 tableau d'objets contient l'objet QueryResponse natif, 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.
  3. 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.