@Override protected void extractFacetResults() { SearchResult searchResult = getSearchResult(); JsonObject aggregations = searchResult.getAggregations(); if ( aggregations == null ) { return; } Map<String, List<Facet>> results = new HashMap<>(); for ( Map.Entry<FacetingRequest, FacetMetadata> entry : searcher.getFacetingRequestsAndMetadata().entrySet() ) { FacetingRequest facetRequest = entry.getKey(); FacetMetadata facetMetadata = entry.getValue(); List<Facet> facets; if ( facetRequest instanceof DiscreteFacetRequest ) { facets = extractDiscreteFacets( aggregations, (DiscreteFacetRequest) facetRequest, facetMetadata ); // Discrete facets are sorted by Elasticsearch } else { facets = extractRangeFacets( aggregations, (RangeFacetRequest<?>) facetRequest, facetMetadata ); if ( !FacetSortOrder.RANGE_DEFINITION_ORDER.equals( facetRequest.getSort() ) ) { Collections.sort( facets, FacetComparators.get( facetRequest.getSort() ) ); } } results.put( facetRequest.getFacetingName(), facets ); } getFacetManager().setFacetResults( results ); }
@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 ); }
@Override protected void extractFacetResults() { SearchResult searchResult = getSearchResult(); JsonObject aggregations = searchResult.getAggregations(); if ( aggregations == null ) { return; } Map<String, List<Facet>> results = new HashMap<>(); for ( Map.Entry<FacetingRequest, FacetMetadata> entry : searcher.getFacetingRequestsAndMetadata().entrySet() ) { FacetingRequest facetRequest = entry.getKey(); FacetMetadata facetMetadata = entry.getValue(); List<Facet> facets; if ( facetRequest instanceof DiscreteFacetRequest ) { facets = extractDiscreteFacets( aggregations, (DiscreteFacetRequest) facetRequest, facetMetadata ); // Discrete facets are sorted by Elasticsearch } else { facets = extractRangeFacets( aggregations, (RangeFacetRequest<?>) facetRequest, facetMetadata ); if ( !FacetSortOrder.RANGE_DEFINITION_ORDER.equals( facetRequest.getSort() ) ) { Collections.sort( facets, FacetComparators.get( facetRequest.getSort() ) ); } } results.put( facetRequest.getFacetingName(), facets ); } getFacetManager().setFacetResults( results ); }
.searchExecuted( searcher.describeQuery(), System.nanoTime() - startTime ); getFacetManager().setFacetResults( queryHits.getFacets() ); return queryHits;
.searchExecuted( searcher.describeQuery(), System.nanoTime() - startTime ); getFacetManager().setFacetResults( queryHits.getFacets() ); return queryHits;