/** * Process order by clause. * * @param termsBuilder * the terms builder * @param orderByExpression * the order by expression * @param groupByClause * the group by clause * @param entityMetadata * the entity metadata */ private void processOrderByClause(TermsBuilder termsBuilder, Expression orderByExpression, Expression groupByClause, EntityMetadata entityMetadata) { Expression orderByClause = (OrderByClause) orderByExpression; OrderByItem orderByItems = (OrderByItem) ((OrderByClause) orderByClause).getOrderByItems(); if (orderByClause instanceof CollectionExpression || !(orderByItems.getExpression().toParsedText().equalsIgnoreCase(groupByClause.toParsedText()))) { logger.error("Order by and group by on different field are not supported simultaneously"); throw new UnsupportedOperationException( "Order by and group by on different field are not supported simultaneously"); } String ordering = orderByItems.getOrdering().toString(); termsBuilder.order(Terms.Order.term(!ordering.equalsIgnoreCase(Expression.DESC))); }
/** * Process order by clause. * * @param termsBuilder * the terms builder * @param orderByExpression * the order by expression * @param groupByClause * the group by clause * @param entityMetadata * the entity metadata */ private void processOrderByClause(TermsBuilder termsBuilder, Expression orderByExpression, Expression groupByClause, EntityMetadata entityMetadata) { Expression orderByClause = (OrderByClause) orderByExpression; OrderByItem orderByItems = (OrderByItem) ((OrderByClause) orderByClause).getOrderByItems(); if (orderByClause instanceof CollectionExpression || !(orderByItems.getExpression().toParsedText().equalsIgnoreCase(groupByClause.toParsedText()))) { logger.error("Order by and group by on different field are not supported simultaneously"); throw new UnsupportedOperationException( "Order by and group by on different field are not supported simultaneously"); } String ordering = orderByItems.getOrdering().toString(); termsBuilder.order(Terms.Order.term(!ordering.equalsIgnoreCase(Expression.DESC))); }
.field("response.headers.Content-Type")) .addAggregation(AggregationBuilders.terms("top_uris").field("request.uri") .order(Terms.Order.aggregation("_count", false)).size(10)) .addAggregation(AggregationBuilders.terms("flop_uris").field("request.uri") .order(Terms.Order.aggregation("_count", true)).size(10)) .addAggregation(AggregationBuilders.dateHistogram("request_histogram").field("timestamp") .interval(new DateHistogramInterval(precision))
.order(Terms.Order.aggregation(SCORE_AGGREGATION, false)) .size(start + rows) .subAggregation(
.subAggregation(AggregationBuilders.min("timestamps_agg") .field("timestamp_millis")) .order(Order.aggregation("timestamps_agg", false)) .size(request.limit));
.field(keyField) .subAggregation(AggregationBuilders.stats(AGG_STATS).field(valueField)) .order(termsOrder) .size(size)