コード例 #1
0
 Filter getFacetFilter() {
   if (facetFilter == null) {
     BooleanQuery boolQuery = new BooleanQuery();
     for (FacetSelectionImpl selection : facetSelection.values()) {
       if (!selection.getFacetList().isEmpty()) {
         Query selectionGroupQuery = createSelectionGroupQuery(selection);
         boolQuery.add(selectionGroupQuery, BooleanClause.Occur.MUST);
       }
     }
     if (boolQuery.getClauses().length > 0) {
       this.facetFilter = new QueryWrapperFilter(boolQuery);
     }
   }
   return facetFilter;
 }
コード例 #2
0
 private Query createSelectionGroupQuery(FacetSelectionImpl selection) {
   BooleanQuery orQuery = new BooleanQuery();
   for (Facet facet : selection.getFacetList()) {
     orQuery.add(facet.getFacetQuery(), BooleanClause.Occur.SHOULD);
   }
   return orQuery;
 }