List of usage examples for org.apache.solr.search PostFilter getFilterCollector
public DelegatingCollector getFilterCollector(IndexSearcher searcher);
From source file:org.alfresco.solr.query.PostFilterQuery.java
License:Open Source License
public DelegatingCollector getFilterCollector(IndexSearcher searcher) { List<PostFilter> postFilters = new ArrayList<PostFilter>(); getPostFilters(query, postFilters);/*from w ww . ja va 2 s.co m*/ Collections.sort(postFilters, new PostFilterComp()); List<DelegatingCollector> delegatingCollectors = new ArrayList<DelegatingCollector>(); for (PostFilter postFilter : postFilters) { DelegatingCollector delegatingCollector = postFilter.getFilterCollector(searcher); if (!(delegatingCollector instanceof AllAccessCollector)) { delegatingCollectors.add(delegatingCollector); } } if (delegatingCollectors.size() == 0) { return new AllAccessCollector(); } else if (delegatingCollectors.size() == 1) { return delegatingCollectors.get(0); } else { return new WrapperCollector(delegatingCollectors); } }