@Override protected void extractFacetResults() { SearchResult searchResult = getSearchResult(); JsonElement aggregationsElement = searchResult.getJsonObject().get( "aggregations" ); if ( aggregationsElement == null ) { return; } JsonObject aggregations = aggregationsElement.getAsJsonObject(); Map<String, List<Facet>> results = new HashMap<>(); for ( FacetingRequest facetRequest : getFacetManager().getFacetRequests().values() ) { List<Facet> facets; if ( facetRequest instanceof DiscreteFacetRequest ) { facets = updateStringFacets( aggregations, (DiscreteFacetRequest) facetRequest ); // Discrete facets are sorted by Elasticsearch } else { facets = updateRangeFacets( aggregations, (RangeFacetRequest<?>) facetRequest ); if ( !FacetSortOrder.RANGE_DEFINITION_ORDER.equals( facetRequest.getSort() ) ) { Collections.sort( facets, FacetComparators.get( facetRequest.getSort() ) ); } } results.put( facetRequest.getFacetingName(), facets ); } getFacetManager().setFacetResults( results ); }
Collection<FacetingRequest> facetingRequests = getFacetManager().getFacetRequests().values(); Map<FacetingRequest, FacetMetadata> facetingRequestsAndMetadata = buildFacetingRequestsAndMetadata( facetingRequests, targetedEntityBindingsByName.values() );
Collection<FacetingRequest> facetingRequests = getFacetManager().getFacetRequests().values(); Map<FacetingRequest, FacetMetadata> facetingRequestsAndMetadata = buildFacetingRequestsAndMetadata( facetingRequests, targetedEntityBindingsByName.values() );
.add( "filtered", JsonBuilder.object( jsonQuery ).add( "filter", effectiveFilter ) ) ); if ( !getFacetManager().getFacetRequests().isEmpty() ) { JsonBuilder.Object facets = JsonBuilder.object(); for ( Entry<String, FacetingRequest> facetRequestEntry : getFacetManager().getFacetRequests().entrySet() ) { ToElasticsearch.addFacetingRequest( facets, facetRequestEntry.getValue() );
Collection<FacetingRequest> facetingRequests = getFacetManager().getFacetRequests().values(); Map<FacetingRequest, FacetMetadata> facetingRequestsAndMetadata = buildFacetingRequestsAndMetadata( facetingRequests, targetedEntityBindingsByName.values() );
Collection<FacetingRequest> facetingRequests = getFacetManager().getFacetRequests().values(); Map<FacetingRequest, FacetMetadata> facetingRequestsAndMetadata = buildFacetingRequestsAndMetadata( facetingRequests, targetedEntityBindingsByName.values() );