Tree @upstream/5.0.69 (Download .tar.gz)
- 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
- 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_derivative.go @upstream/5.0.69 — 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 114 115 116 117 118 119 120 121 122 123 124 | // 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 // DerivativeAggregation is a parent pipeline aggregation which calculates // the derivative of a specified metric in a parent histogram (or date_histogram) // aggregation. The specified metric must be numeric and the enclosing // histogram must have min_doc_count set to 0 (default for histogram aggregations). // // For more details, see // https://www.elastic.co/guide/en/elasticsearch/reference/5.2/search-aggregations-pipeline-derivative-aggregation.html type DerivativeAggregation struct { format string gapPolicy string unit string subAggregations map[string]Aggregation meta map[string]interface{} bucketsPaths []string } // NewDerivativeAggregation creates and initializes a new DerivativeAggregation. func NewDerivativeAggregation() *DerivativeAggregation { return &DerivativeAggregation{ subAggregations: make(map[string]Aggregation), bucketsPaths: make([]string, 0), } } func (a *DerivativeAggregation) Format(format string) *DerivativeAggregation { a.format = format return a } // 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 (a *DerivativeAggregation) GapPolicy(gapPolicy string) *DerivativeAggregation { a.gapPolicy = gapPolicy return a } // GapInsertZeros inserts zeros for gaps in the series. func (a *DerivativeAggregation) GapInsertZeros() *DerivativeAggregation { a.gapPolicy = "insert_zeros" return a } // GapSkip skips gaps in the series. func (a *DerivativeAggregation) GapSkip() *DerivativeAggregation { a.gapPolicy = "skip" return a } // Unit sets the unit provided, e.g. "1d" or "1y". // It is only useful when calculating the derivative using a date_histogram. func (a *DerivativeAggregation) Unit(unit string) *DerivativeAggregation { a.unit = unit return a } // SubAggregation adds a sub-aggregation to this aggregation. func (a *DerivativeAggregation) SubAggregation(name string, subAggregation Aggregation) *DerivativeAggregation { a.subAggregations[name] = subAggregation return a } // Meta sets the meta data to be included in the aggregation response. func (a *DerivativeAggregation) Meta(metaData map[string]interface{}) *DerivativeAggregation { a.meta = metaData return a } // BucketsPath sets the paths to the buckets to use for this pipeline aggregator. func (a *DerivativeAggregation) BucketsPath(bucketsPaths ...string) *DerivativeAggregation { a.bucketsPaths = append(a.bucketsPaths, bucketsPaths...) return a } func (a *DerivativeAggregation) Source() (interface{}, error) { source := make(map[string]interface{}) params := make(map[string]interface{}) source["derivative"] = params if a.format != "" { params["format"] = a.format } if a.gapPolicy != "" { params["gap_policy"] = a.gapPolicy } if a.unit != "" { params["unit"] = a.unit } // Add buckets paths switch len(a.bucketsPaths) { case 0: case 1: params["buckets_path"] = a.bucketsPaths[0] default: params["buckets_path"] = a.bucketsPaths } // AggregationBuilder (SubAggregations) if len(a.subAggregations) > 0 { aggsMap := make(map[string]interface{}) source["aggregations"] = aggsMap for name, aggregate := range a.subAggregations { src, err := aggregate.Source() if err != nil { return nil, err } aggsMap[name] = src } } // Add Meta data if available if len(a.meta) > 0 { source["meta"] = a.meta } return source, nil } |