Crear un preprocesador de consulta personalizado

Un preprocesador de consulta modifica el objeto SolrQuery nativo justo antes de enviarlo al servidor Solr para su proceso.

Procedimiento

  1. Cree una clase que realice las acciones siguientes:
    1. Se amplía desde la clase AbstractSearchQueryPreprocessor y
    2. Se implementa la interfaz de SearchQueryPreprocessor.
  2. Implemente el método invoke, que toma el objeto SearchCriteria y una varargs 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.
    El varargs contiene el objeto queryRequestObjects, que se inicializa mediante:
    super.invoke(SearchCriteria, queryRequestObjects);
    Se pueden utilizar dos variables de instancia:
    iSearchCriteria
    Representación Java de la expresión de búsqueda original.
    queryRequestObjects
    Representación Java de objetos de solicitud de consulta de búsqueda nativos.
  3. Métodos de ayudante 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 preprocesadores de consulta predeterminados, consulte HCL Commerce Search archivo de configuración (wc-search.xml).

Ejemplo

La siguiente descarga contiene código de ejemplo para crear un preprocesador de consulta personalizado: