如何在hybris中实现FacetSearchListener以添加动态Solr过滤器



我正在处理一个项目,在根据请求执行Solr查询之前,我需要在FacetSearchListener的实现中应用动态过滤器。我将如何区分侦听器类中的请求,以便应用if-else条件。

通过实现YOURSearchListenerClass

import de.hybris.platform.solrfacetsearch.search.context.FacetSearchListener;
public class YOURSearchListenerClass implements FacetSearchListener {
    @Override
    public void beforeSearch(FacetSearchContext facetSearchContext) {
        facetSearchContext.getSearchQuery().addFilterRawQuery("YOURQuery");
    }
    @Override
    public void afterSearch(FacetSearchContext facetSearchContext) {}
    @Override
    public void afterSearchError(FacetSearchContext facetSearchContext) {}
}

并注册YOURSearchListener

<bean id="YOURSearchListener" class="YOURSearchListenerClass" />

映射YOURSearchListenerDefinition

<bean id="YOURSearchListenerDefinition" parent="solrListenerDefinition">
    <property name="listener" ref="YOURSearchListener" />
</bean>

最新更新