UniversalSearch search = searchFactory.queryWithRangeAndFilter(q, timerange, filter);
DateHistogramResult histogram = search.dateHistogram(interval);
List<Map<String, Long>> results = formatHistogramResults(histogram, maxDataPoints, relative == 0);
Map<String, Object> result = Maps.newHashMap();
AbsoluteRange boundaries = histogram.getHistogramBoundaries();
result.put("time", histogram.getTookMs());
result.put("interval", histogram.getInterval());
result.put("values", results);
result.put("from", boundaries.getFrom());
result.put("to", boundaries.getTo());
return ok(Json.toJson(result));
} catch (IOException e) {
return internalServerError("io exception");
} catch (APIException e) {