|
43 | 43 | import org.elasticsearch.index.query.QueryBuilder;
|
44 | 44 | import org.elasticsearch.index.query.QueryBuilders;
|
45 | 45 | import org.elasticsearch.script.Script;
|
46 |
| -import org.elasticsearch.script.ScriptService; |
| 46 | +import org.elasticsearch.script.ScriptType; |
47 | 47 | import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
|
48 | 48 | import org.elasticsearch.search.aggregations.AggregationBuilders;
|
49 | 49 | import org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder;
|
50 |
| -import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramBuilder; |
| 50 | +import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder; |
51 | 51 | import org.elasticsearch.search.aggregations.bucket.terms.Terms;
|
52 | 52 | import org.elasticsearch.search.builder.SearchSourceBuilder;
|
| 53 | +import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; |
53 | 54 | import org.graylog2.Configuration;
|
54 | 55 | import org.graylog2.database.NotFoundException;
|
55 | 56 | import org.graylog2.indexer.ElasticsearchException;
|
@@ -296,8 +297,7 @@ public AbstractAggregationBuilder createTermsBuilder(String field, List<String>
|
296 | 297 | if (stackedFields.isEmpty()) {
|
297 | 298 | // Wrap terms aggregation in a no-op filter to make sure the result structure is correct when not having
|
298 | 299 | // stacked fields.
|
299 |
| - return AggregationBuilders.filter(AGG_FILTER) |
300 |
| - .filter(QueryBuilders.matchAllQuery()) |
| 300 | + return AggregationBuilders.filter(AGG_FILTER, QueryBuilders.matchAllQuery()) |
301 | 301 | .subAggregation(AggregationBuilders.terms(AGG_TERMS)
|
302 | 302 | .field(field)
|
303 | 303 | .size(size > 0 ? size : 50)
|
@@ -326,10 +326,9 @@ public AbstractAggregationBuilder createTermsBuilder(String field, List<String>
|
326 | 326 | filterQuery.must(QueryBuilders.existsQuery(f));
|
327 | 327 | });
|
328 | 328 |
|
329 |
| - return AggregationBuilders.filter(AGG_FILTER) |
330 |
| - .filter(filterQuery) |
| 329 | + return AggregationBuilders.filter(AGG_FILTER, filterQuery) |
331 | 330 | .subAggregation(AggregationBuilders.terms(AGG_TERMS)
|
332 |
| - .script(new Script(scriptStringBuilder.toString(), ScriptService.ScriptType.INLINE, "painless", null)) |
| 331 | + .script(new Script(ScriptType.INLINE, "painless", scriptStringBuilder.toString(), Collections.emptyMap())) |
333 | 332 | .size(size > 0 ? size : 50)
|
334 | 333 | .order(termsOrder));
|
335 | 334 | }
|
@@ -393,9 +392,9 @@ public TermsHistogramResult termsHistogram(String field,
|
393 | 392 | Sorting.Direction sorting) {
|
394 | 393 | final Terms.Order termsOrder = sorting == Sorting.Direction.DESC ? Terms.Order.count(false) : Terms.Order.count(true);
|
395 | 394 |
|
396 |
| - final DateHistogramBuilder histogramBuilder = AggregationBuilders.dateHistogram(AGG_HISTOGRAM) |
| 395 | + final DateHistogramAggregationBuilder histogramBuilder = AggregationBuilders.dateHistogram(AGG_HISTOGRAM) |
397 | 396 | .field(Message.FIELD_TIMESTAMP)
|
398 |
| - .interval(interval.toESInterval()) |
| 397 | + .dateHistogramInterval(interval.toESInterval()) |
399 | 398 | .subAggregation(createTermsBuilder(field, stackedFields, size, termsOrder))
|
400 | 399 | .subAggregation(AggregationBuilders.missing("missing").field(field));
|
401 | 400 |
|
@@ -484,16 +483,14 @@ public TermsStatsResult termsStats(String keyField, String valueField, TermsStat
|
484 | 483 | termsOrder = Terms.Order.count(true);
|
485 | 484 | }
|
486 | 485 |
|
487 |
| - final FilterAggregationBuilder builder = AggregationBuilders.filter(AGG_FILTER) |
| 486 | + final FilterAggregationBuilder builder = AggregationBuilders.filter(AGG_FILTER, standardAggregationFilters(range, filter)) |
488 | 487 | .subAggregation(
|
489 | 488 | AggregationBuilders.terms(AGG_TERMS_STATS)
|
490 | 489 | .field(keyField)
|
491 | 490 | .subAggregation(AggregationBuilders.stats(AGG_STATS).field(valueField))
|
492 | 491 | .order(termsOrder)
|
493 | 492 | .size(size)
|
494 |
| - ) |
495 |
| - .filter(standardAggregationFilters(range, filter)); |
496 |
| - |
| 493 | + ); |
497 | 494 | searchSourceBuilder.aggregation(builder);
|
498 | 495 |
|
499 | 496 | if (affectedIndices.isEmpty()) {
|
@@ -546,8 +543,7 @@ public FieldStatsResult fieldStats(String field,
|
546 | 543 | searchSourceBuilder = filteredSearchRequest(query, filter, range);
|
547 | 544 | }
|
548 | 545 |
|
549 |
| - final FilterAggregationBuilder filterBuilder = AggregationBuilders.filter(AGG_FILTER) |
550 |
| - .filter(standardAggregationFilters(range, filter)); |
| 546 | + final FilterAggregationBuilder filterBuilder = AggregationBuilders.filter(AGG_FILTER, standardAggregationFilters(range, filter)); |
551 | 547 | if (includeCount) {
|
552 | 548 | searchSourceBuilder.aggregation(AggregationBuilders.count(AGG_VALUE_COUNT).field(field));
|
553 | 549 | }
|
@@ -605,9 +601,9 @@ public HistogramResult histogram(String query, DateHistogramInterval interval, T
|
605 | 601 | }
|
606 | 602 |
|
607 | 603 | public HistogramResult histogram(String query, DateHistogramInterval interval, String filter, TimeRange range) {
|
608 |
| - final DateHistogramBuilder histogramBuilder = AggregationBuilders.dateHistogram(AGG_HISTOGRAM) |
| 604 | + final DateHistogramAggregationBuilder histogramBuilder = AggregationBuilders.dateHistogram(AGG_HISTOGRAM) |
609 | 605 | .field(Message.FIELD_TIMESTAMP)
|
610 |
| - .interval(interval.toESInterval()); |
| 606 | + .dateHistogramInterval(interval.toESInterval()); |
611 | 607 |
|
612 | 608 | final SearchSourceBuilder searchSourceBuilder = filteredSearchRequest(query, filter, range)
|
613 | 609 | .aggregation(histogramBuilder);
|
@@ -653,9 +649,9 @@ public HistogramResult fieldHistogram(String query,
|
653 | 649 | TimeRange range,
|
654 | 650 | boolean includeStats,
|
655 | 651 | boolean includeCardinality) {
|
656 |
| - final DateHistogramBuilder dateHistogramBuilder = AggregationBuilders.dateHistogram(AGG_HISTOGRAM) |
| 652 | + final DateHistogramAggregationBuilder dateHistogramBuilder = AggregationBuilders.dateHistogram(AGG_HISTOGRAM) |
657 | 653 | .field(Message.FIELD_TIMESTAMP)
|
658 |
| - .interval(interval.toESInterval()); |
| 654 | + .dateHistogramInterval(interval.toESInterval()); |
659 | 655 |
|
660 | 656 | if (includeStats) {
|
661 | 657 | dateHistogramBuilder.subAggregation(AggregationBuilders.stats(AGG_STATS).field(field));
|
@@ -797,11 +793,12 @@ private SearchSourceBuilder standardSearchRequest(
|
797 | 793 | }
|
798 | 794 |
|
799 | 795 | if (highlight && configuration.isAllowHighlighting()) {
|
800 |
| - searchSourceBuilder.highlighter() |
| 796 | + final HighlightBuilder highlightBuilder = new HighlightBuilder() |
801 | 797 | .requireFieldMatch(false)
|
802 | 798 | .field("*")
|
803 | 799 | .fragmentSize(0)
|
804 | 800 | .numOfFragments(0);
|
| 801 | + searchSourceBuilder.highlighter(highlightBuilder); |
805 | 802 | }
|
806 | 803 |
|
807 | 804 | return searchSourceBuilder;
|
|
0 commit comments