11package org .elasticsearch .mapping ;
22
3- import java .util .ArrayList ;
4- import java .util .HashMap ;
5- import java .util .List ;
6- import java .util .Map ;
3+ import java .util .*;
74import java .util .Map .Entry ;
8- import java . util . Set ;
5+
96import javax .annotation .Resource ;
7+
108import org .elasticsearch .action .count .CountRequestBuilder ;
119import org .elasticsearch .action .count .CountResponse ;
1210import org .elasticsearch .action .search .SearchRequestBuilder ;
1614import org .elasticsearch .common .collect .Maps ;
1715import org .elasticsearch .common .logging .ESLogger ;
1816import org .elasticsearch .common .logging .Loggers ;
19- import org .elasticsearch .index .query .BoolQueryBuilder ;
20- import org .elasticsearch .index .query .FilterBuilder ;
21- import org .elasticsearch .index .query .FilterBuilders ;
22- import org .elasticsearch .index .query .QueryBuilder ;
23- import org .elasticsearch .index .query .QueryBuilders ;
17+ import org .elasticsearch .index .query .*;
2418import org .elasticsearch .index .query .functionscore .ScoreFunctionBuilders ;
2519import org .elasticsearch .search .aggregations .AggregationBuilder ;
2620import org .elasticsearch .search .aggregations .AggregationBuilders ;
27- import org .elasticsearch .search .facet .FacetBuilder ;
2821import org .elasticsearch .search .sort .FieldSortBuilder ;
2922import org .elasticsearch .search .sort .SortBuilders ;
3023import org .elasticsearch .search .sort .SortOrder ;
@@ -508,11 +501,10 @@ private void addAggregations(Map<String, String[]> filters, String className, Se
508501 if (aggregations .size () > 0 ) {
509502 AggregationBuilder aggregationBuilder ;
510503
511- if (filter == null ){
504+ if (filter == null ) {
512505 // In order to gather all unfiltered aggregations faceted results under one single parent aggregation, a Global Aggregation is used
513506 aggregationBuilder = AggregationBuilders .global ("global_aggregation" );
514- }
515- else {
507+ } else {
516508 // To include filters inside filtered aggregation results
517509 aggregationBuilder = AggregationBuilders .filters ("filter_aggregation" ).filter (filter );
518510 }
@@ -579,30 +571,6 @@ private FilterBuilder getAndFilter(List<FilterBuilder> filters) {
579571 return FilterBuilders .andFilter (filters .toArray (new FilterBuilder [filters .size ()]));
580572 }
581573
582- /**
583- * Create a list of facets for the given type.
584- *
585- * @param className The name of the class for which to create facets.
586- * @param filters The set of facets to exclude from the facet creation.
587- * @return a {@link List} of {@link FacetBuilder facet builders}.
588- */
589- private List <FacetBuilder > buildFacets (String className , Set <String > filters ) {
590- final List <FacetBuilder > facetBuilders = new ArrayList <FacetBuilder >();
591-
592- List <IFacetBuilderHelper > facetBuilderHelpers = mappingBuilder .getFacets (className );
593- if (facetBuilderHelpers == null ) {
594- return facetBuilders ;
595- }
596-
597- for (IFacetBuilderHelper facetBuilderHelper : facetBuilderHelpers ) {
598- if (filters == null || !filters .contains (facetBuilderHelper .getEsFieldName ())) {
599- facetBuilders .add (facetBuilderHelper .buildFacet ());
600-
601- }
602- }
603- return facetBuilders ;
604- }
605-
606574 /**
607575 * Create a list of aggregations counts for the given type.
608576 *
@@ -614,16 +582,16 @@ private List<AggregationBuilder> buildAggregations(String className, Set<String>
614582 final List <AggregationBuilder > aggregationBuilders = new ArrayList <AggregationBuilder >();
615583 List <IFacetBuilderHelper > facetBuilderHelpers = mappingBuilder .getFacets (className );
616584
617- if (facetBuilderHelpers == null || facetBuilderHelpers .size () < 1 )
585+ if (facetBuilderHelpers == null || facetBuilderHelpers .size () < 1 )
618586 return aggregationBuilders ;
619587
620588 for (IFacetBuilderHelper facetBuilderHelper : facetBuilderHelpers ) {
621- if (filters == null || !filters .contains (facetBuilderHelper .getEsFieldName ()))
622- aggregationBuilders .add (AggregationBuilders .terms (facetBuilderHelper .getEsFieldName ()).field (facetBuilderHelper .getEsFieldName ()));
589+ if (filters == null || !filters .contains (facetBuilderHelper .getEsFieldName ())) {
590+ aggregationBuilders .add (facetBuilderHelper .buildFacet ());
591+ }
623592 }
624593
625594 return aggregationBuilders ;
626-
627595 }
628596 }
629597}
0 commit comments