Crear un postprocesador de consulta personalizado

Un posprocesador de consulta crea y modifica una respuesta de búsqueda inmediatamente después QueryResponse de que se devuelva del servidor Solr.

Procedure

  1. Cree una clase que realice las acciones siguientes:
    1. Se amplía desde la clase AbstractSearchQueryPostprocessor y
    2. Se implementa la interfaz de SearchQueryPostprocessor.
  2. Implemente el método invoke, que toma el objeto SearchCriteria y una matriz de objeto como parámetros de entrada. Este objeto SearchCriteria es una representación Java de la expresión de búsqueda original, donde cada criterio de búsqueda se almacena como un objeto de parámetro de control.
    La matriz de objetos contiene el objeto QueryResponse nativo, que se inicializa mediante:
    super.invoke(SearchCriteria, queryResponseObjects);
    
    Se pueden utilizar tres variables de instancia:
    iSearchCriteria
    Representación Java de la expresión de búsqueda original.
    iQueryResponse
    Representación Java de objetos de respuesta de consulta de búsqueda nativos.
    iSearchResponseObject
    Representación Java del objeto SearchResponse que se utiliza con los servicios REST.
  3. Los métodos de ayuda están disponibles desde la clase abstracta, que se pueden utilizar para recuperar desde los parámetros de control:
    
    String term = getControlParameterValue(SearchServiceConstants.CTRL_PARAM_SEARCH_TERM);
    

    Para ver una lista de los parámetros de control admitidos, consulte HCL Commerce Search Interfaz.

    Para obtener más información sobre los postprocesadores de consulta predeterminados, consulte HCL Commerce Search archivo de configuración (wc-search.xml).

Example

La siguiente descarga contiene código de ejemplo que muestra cómo se configura un posprocesador personalizado en el archivo wc-search.xml y cómo se utiliza para añadir más datos al objeto de respuesta final.