Tree @upstream/latest (Download .tar.gz)
- aws
- cluster-test
- config
- etc
- recipes
- uritemplates
- .gitignore
- .travis.yml
- acknowledged_response.go
- backoff.go
- backoff_test.go
- bulk.go
- bulk_delete_request.go
- bulk_delete_request_easyjson.go
- bulk_delete_request_test.go
- bulk_index_request.go
- bulk_index_request_easyjson.go
- bulk_index_request_test.go
- bulk_processor.go
- bulk_processor_test.go
- bulk_request.go
- bulk_test.go
- bulk_update_request.go
- bulk_update_request_easyjson.go
- bulk_update_request_test.go
- canonicalize.go
- canonicalize_test.go
- CHANGELOG-3.0.md
- CHANGELOG-5.0.md
- clear_scroll.go
- clear_scroll_test.go
- client.go
- client_test.go
- cluster_health.go
- cluster_health_test.go
- cluster_state.go
- cluster_state_test.go
- cluster_stats.go
- cluster_stats_test.go
- CODE_OF_CONDUCT.md
- connection.go
- CONTRIBUTING.md
- CONTRIBUTORS
- count.go
- count_test.go
- decoder.go
- decoder_test.go
- delete.go
- delete_by_query.go
- delete_by_query_test.go
- delete_template.go
- delete_template_test.go
- delete_test.go
- doc.go
- errors.go
- errors_test.go
- example_test.go
- exists.go
- exists_test.go
- explain.go
- explain_test.go
- fetch_source_context.go
- fetch_source_context_test.go
- field_caps.go
- field_caps_test.go
- field_stats.go
- field_stats_test.go
- geo_point.go
- geo_point_test.go
- get.go
- get_template.go
- get_template_test.go
- get_test.go
- go.mod
- go.sum
- highlight.go
- highlight_test.go
- index.go
- index_test.go
- indices_analyze.go
- indices_analyze_test.go
- indices_close.go
- indices_close_test.go
- indices_create.go
- indices_create_test.go
- indices_delete.go
- indices_delete_template.go
- indices_delete_test.go
- indices_exists.go
- indices_exists_template.go
- indices_exists_template_test.go
- indices_exists_test.go
- indices_exists_type.go
- indices_exists_type_test.go
- indices_flush.go
- indices_flush_test.go
- indices_forcemerge.go
- indices_forcemerge_test.go
- indices_get.go
- indices_get_aliases.go
- indices_get_aliases_test.go
- indices_get_field_mapping.go
- indices_get_field_mapping_test.go
- indices_get_mapping.go
- indices_get_mapping_test.go
- indices_get_settings.go
- indices_get_settings_test.go
- indices_get_template.go
- indices_get_template_test.go
- indices_get_test.go
- indices_open.go
- indices_open_test.go
- indices_put_alias.go
- indices_put_alias_test.go
- indices_put_mapping.go
- indices_put_mapping_test.go
- indices_put_settings.go
- indices_put_settings_test.go
- indices_put_template.go
- indices_refresh.go
- indices_refresh_test.go
- indices_rollover.go
- indices_rollover_test.go
- indices_segments.go
- indices_segments_test.go
- indices_shrink.go
- indices_shrink_test.go
- indices_stats.go
- indices_stats_test.go
- ingest_delete_pipeline.go
- ingest_delete_pipeline_test.go
- ingest_get_pipeline.go
- ingest_get_pipeline_test.go
- ingest_put_pipeline.go
- ingest_put_pipeline_test.go
- ingest_simulate_pipeline.go
- ingest_simulate_pipeline_test.go
- inner_hit.go
- inner_hit_test.go
- ISSUE_TEMPLATE.md
- LICENSE
- logger.go
- mget.go
- mget_test.go
- msearch.go
- msearch_test.go
- mtermvectors.go
- mtermvectors_test.go
- nodes_info.go
- nodes_info_test.go
- nodes_stats.go
- nodes_stats_test.go
- percolate_test.go
- ping.go
- ping_test.go
- plugins.go
- plugins_test.go
- put_template.go
- put_template_test.go
- query.go
- README.md
- reindex.go
- reindex_test.go
- request.go
- request_test.go
- rescore.go
- rescorer.go
- response.go
- response_test.go
- retrier.go
- retrier_test.go
- retry.go
- retry_test.go
- run-es.sh
- script.go
- script_test.go
- scroll.go
- scroll_test.go
- search.go
- search_aggs.go
- search_aggs_bucket_adjacency_matrix.go
- search_aggs_bucket_adjacency_matrix_test.go
- search_aggs_bucket_children.go
- search_aggs_bucket_children_test.go
- search_aggs_bucket_date_histogram.go
- search_aggs_bucket_date_histogram_test.go
- search_aggs_bucket_date_range.go
- search_aggs_bucket_date_range_test.go
- search_aggs_bucket_diversified_sampler.go
- search_aggs_bucket_diversified_sampler_test.go
- search_aggs_bucket_filter.go
- search_aggs_bucket_filter_test.go
- search_aggs_bucket_filters.go
- search_aggs_bucket_filters_test.go
- search_aggs_bucket_geo_distance.go
- search_aggs_bucket_geo_distance_test.go
- search_aggs_bucket_geohash_grid.go
- search_aggs_bucket_geohash_grid_test.go
- search_aggs_bucket_global.go
- search_aggs_bucket_global_test.go
- search_aggs_bucket_histogram.go
- search_aggs_bucket_histogram_test.go
- search_aggs_bucket_ip_range.go
- search_aggs_bucket_ip_range_test.go
- search_aggs_bucket_missing.go
- search_aggs_bucket_missing_test.go
- search_aggs_bucket_nested.go
- search_aggs_bucket_nested_test.go
- search_aggs_bucket_range.go
- search_aggs_bucket_range_test.go
- search_aggs_bucket_reverse_nested.go
- search_aggs_bucket_reverse_nested_test.go
- search_aggs_bucket_sampler.go
- search_aggs_bucket_sampler_test.go
- search_aggs_bucket_significant_terms.go
- search_aggs_bucket_significant_terms_test.go
- search_aggs_bucket_terms.go
- search_aggs_bucket_terms_test.go
- search_aggs_matrix_stats.go
- search_aggs_matrix_stats_test.go
- search_aggs_metrics_avg.go
- search_aggs_metrics_avg_test.go
- search_aggs_metrics_cardinality.go
- search_aggs_metrics_cardinality_test.go
- search_aggs_metrics_extended_stats.go
- search_aggs_metrics_extended_stats_test.go
- search_aggs_metrics_geo_bounds.go
- search_aggs_metrics_geo_bounds_test.go
- search_aggs_metrics_geo_centroid.go
- search_aggs_metrics_geo_centroid_test.go
- search_aggs_metrics_max.go
- search_aggs_metrics_max_test.go
- search_aggs_metrics_min.go
- search_aggs_metrics_min_test.go
- search_aggs_metrics_percentile_ranks.go
- search_aggs_metrics_percentile_ranks_test.go
- search_aggs_metrics_percentiles.go
- search_aggs_metrics_percentiles_test.go
- search_aggs_metrics_stats.go
- search_aggs_metrics_stats_test.go
- search_aggs_metrics_sum.go
- search_aggs_metrics_sum_test.go
- search_aggs_metrics_top_hits.go
- search_aggs_metrics_top_hits_test.go
- search_aggs_metrics_value_count.go
- search_aggs_metrics_value_count_test.go
- search_aggs_pipeline_avg_bucket.go
- search_aggs_pipeline_avg_bucket_test.go
- search_aggs_pipeline_bucket_script.go
- search_aggs_pipeline_bucket_script_test.go
- search_aggs_pipeline_bucket_selector.go
- search_aggs_pipeline_bucket_selector_test.go
- search_aggs_pipeline_cumulative_sum.go
- search_aggs_pipeline_cumulative_sum_test.go
- search_aggs_pipeline_derivative.go
- search_aggs_pipeline_derivative_test.go
- search_aggs_pipeline_max_bucket.go
- search_aggs_pipeline_max_bucket_test.go
- search_aggs_pipeline_min_bucket.go
- search_aggs_pipeline_min_bucket_test.go
- search_aggs_pipeline_mov_avg.go
- search_aggs_pipeline_mov_avg_test.go
- search_aggs_pipeline_percentiles_bucket.go
- search_aggs_pipeline_percentiles_bucket_test.go
- search_aggs_pipeline_serial_diff.go
- search_aggs_pipeline_serial_diff_test.go
- search_aggs_pipeline_stats_bucket.go
- search_aggs_pipeline_stats_bucket_test.go
- search_aggs_pipeline_sum_bucket.go
- search_aggs_pipeline_sum_bucket_test.go
- search_aggs_pipeline_test.go
- search_aggs_test.go
- search_collapse_builder.go
- search_collapse_builder_test.go
- search_queries_bool.go
- search_queries_bool_test.go
- search_queries_boosting.go
- search_queries_boosting_test.go
- search_queries_common_terms.go
- search_queries_common_terms_test.go
- search_queries_constant_score.go
- search_queries_constant_score_test.go
- search_queries_dis_max.go
- search_queries_dis_max_test.go
- search_queries_exists.go
- search_queries_exists_test.go
- search_queries_fsq.go
- search_queries_fsq_score_funcs.go
- search_queries_fsq_test.go
- search_queries_fuzzy.go
- search_queries_fuzzy_test.go
- search_queries_geo_bounding_box.go
- search_queries_geo_bounding_box_test.go
- search_queries_geo_distance.go
- search_queries_geo_distance_test.go
- search_queries_geo_polygon.go
- search_queries_geo_polygon_test.go
- search_queries_has_child.go
- search_queries_has_child_test.go
- search_queries_has_parent.go
- search_queries_has_parent_test.go
- search_queries_ids.go
- search_queries_ids_test.go
- search_queries_indices.go
- search_queries_indices_test.go
- search_queries_match.go
- search_queries_match_all.go
- search_queries_match_all_test.go
- search_queries_match_none.go
- search_queries_match_none_test.go
- search_queries_match_phrase.go
- search_queries_match_phrase_prefix.go
- search_queries_match_phrase_prefix_test.go
- search_queries_match_phrase_test.go
- search_queries_match_test.go
- search_queries_more_like_this.go
- search_queries_more_like_this_test.go
- search_queries_multi_match.go
- search_queries_multi_match_test.go
- search_queries_nested.go
- search_queries_nested_test.go
- search_queries_parent_id.go
- search_queries_parent_id_test.go
- search_queries_percolator.go
- search_queries_percolator_test.go
- search_queries_prefix.go
- search_queries_prefix_example_test.go
- search_queries_prefix_test.go
- search_queries_query_string.go
- search_queries_query_string_test.go
- search_queries_range.go
- search_queries_range_test.go
- search_queries_raw_string.go
- search_queries_raw_string_test.go
- search_queries_regexp.go
- search_queries_regexp_test.go
- search_queries_script.go
- search_queries_script_test.go
- search_queries_simple_query_string.go
- search_queries_simple_query_string_test.go
- search_queries_slice.go
- search_queries_slice_test.go
- search_queries_term.go
- search_queries_term_test.go
- search_queries_terms.go
- search_queries_terms_test.go
- search_queries_type.go
- search_queries_type_test.go
- search_queries_wildcard.go
- search_queries_wildcard_test.go
- search_request.go
- search_request_test.go
- search_shards.go
- search_shards_test.go
- search_source.go
- search_source_test.go
- search_suggester_test.go
- search_terms_lookup.go
- search_terms_lookup_test.go
- search_test.go
- setup_test.go
- snapshot_create.go
- snapshot_create_repository.go
- snapshot_create_repository_test.go
- snapshot_create_test.go
- snapshot_delete_repository.go
- snapshot_delete_repository_test.go
- snapshot_get_repository.go
- snapshot_get_repository_test.go
- snapshot_verify_repository.go
- snapshot_verify_repository_test.go
- sort.go
- sort_test.go
- suggest.go
- suggest_field.go
- suggest_field_test.go
- suggest_test.go
- suggester.go
- suggester_completion.go
- suggester_completion_fuzzy.go
- suggester_completion_fuzzy_test.go
- suggester_completion_test.go
- suggester_context.go
- suggester_context_category.go
- suggester_context_category_test.go
- suggester_context_geo.go
- suggester_context_geo_test.go
- suggester_context_test.go
- suggester_phrase.go
- suggester_phrase_test.go
- suggester_term.go
- suggester_term_test.go
- tasks_cancel.go
- tasks_cancel_test.go
- tasks_get_task.go
- tasks_get_task_test.go
- tasks_list.go
- tasks_list_test.go
- termvectors.go
- termvectors_test.go
- update.go
- update_by_query.go
- update_by_query_test.go
- update_integration_test.go
- update_test.go
- validate.go
- validate_test.go
search_aggs_pipeline_stats_bucket.go @upstream/latest — raw · history · blame
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | // Copyright 2012-present Oliver Eilhard. All rights reserved. // Use of this source code is governed by a MIT-license. // See http://olivere.mit-license.org/license.txt for details. package elastic // StatsBucketAggregation is a sibling pipeline aggregation which calculates // a variety of stats across all bucket of a specified metric in a sibling aggregation. // The specified metric must be numeric and the sibling aggregation must // be a multi-bucket aggregation. // // For more details, see // https://www.elastic.co/guide/en/elasticsearch/reference/5.2/search-aggregations-pipeline-stats-bucket-aggregation.html type StatsBucketAggregation struct { format string gapPolicy string subAggregations map[string]Aggregation meta map[string]interface{} bucketsPaths []string } // NewStatsBucketAggregation creates and initializes a new StatsBucketAggregation. func NewStatsBucketAggregation() *StatsBucketAggregation { return &StatsBucketAggregation{ subAggregations: make(map[string]Aggregation), bucketsPaths: make([]string, 0), } } func (s *StatsBucketAggregation) Format(format string) *StatsBucketAggregation { s.format = format return s } // GapPolicy defines what should be done when a gap in the series is discovered. // Valid values include "insert_zeros" or "skip". Default is "insert_zeros". func (s *StatsBucketAggregation) GapPolicy(gapPolicy string) *StatsBucketAggregation { s.gapPolicy = gapPolicy return s } // GapInsertZeros inserts zeros for gaps in the series. func (s *StatsBucketAggregation) GapInsertZeros() *StatsBucketAggregation { s.gapPolicy = "insert_zeros" return s } // GapSkip skips gaps in the series. func (s *StatsBucketAggregation) GapSkip() *StatsBucketAggregation { s.gapPolicy = "skip" return s } // SubAggregation adds a sub-aggregation to this aggregation. func (s *StatsBucketAggregation) SubAggregation(name string, subAggregation Aggregation) *StatsBucketAggregation { s.subAggregations[name] = subAggregation return s } // Meta sets the meta data to be included in the aggregation response. func (s *StatsBucketAggregation) Meta(metaData map[string]interface{}) *StatsBucketAggregation { s.meta = metaData return s } // BucketsPath sets the paths to the buckets to use for this pipeline aggregator. func (s *StatsBucketAggregation) BucketsPath(bucketsPaths ...string) *StatsBucketAggregation { s.bucketsPaths = append(s.bucketsPaths, bucketsPaths...) return s } func (s *StatsBucketAggregation) Source() (interface{}, error) { source := make(map[string]interface{}) params := make(map[string]interface{}) source["stats_bucket"] = params if s.format != "" { params["format"] = s.format } if s.gapPolicy != "" { params["gap_policy"] = s.gapPolicy } // Add buckets paths switch len(s.bucketsPaths) { case 0: case 1: params["buckets_path"] = s.bucketsPaths[0] default: params["buckets_path"] = s.bucketsPaths } // AggregationBuilder (SubAggregations) if len(s.subAggregations) > 0 { aggsMap := make(map[string]interface{}) source["aggregations"] = aggsMap for name, aggregate := range s.subAggregations { src, err := aggregate.Source() if err != nil { return nil, err } aggsMap[name] = src } } // Add Meta data if available if len(s.meta) > 0 { source["meta"] = s.meta } return source, nil } |