api_server/es_2_0/aggregations.js (420 lines of code) (raw):

var simple_metric = { __template: {field: ""}, field: "{field}", missing: 0, script: { // populated by a global rule } }, field_metric = { __template: {field: ""}, field: "{field}" }, gap_policy = { __one_of: ["skip", "insert_zeros"] }, simple_pipeline = { __template: { buckets_path: "" }, buckets_path: "", format: "", gap_policy: gap_policy }; var rules = { "*": { "aggs": { __template: { "NAME": { "AGG_TYPE": {} } } }, "min": simple_metric, "max": simple_metric, "avg": simple_metric, "sum": simple_metric, "stats": simple_metric, "extended_stats": simple_metric, "value_count": { __template: { "field": "" }, "field": "{field}", "script": { // populated by a global rule } }, "global": {}, "filter": {}, "filters": { __template: { "filters": { "NAME": {} } }, "filters": { "*": {__scope_link: "GLOBAL.filter"} }, "other_bucket": {__one_of: [true, false]}, "other_bucket_key": "" }, "missing": field_metric, "nested": { __template: { "path": "" }, "path": "" }, "reverse_nested": { __template: { "path": "" }, "path": "" }, "terms": { __template: { "field": "", "size": 10 }, "field": "{field}", "size": 10, "shard_size": 10, "order": { __template: { "_term": "asc" }, "_term": {__one_of: ["asc", "desc"]}, "_count": {__one_of: ["asc", "desc"]}, "*": {__one_of: ["asc", "desc"]} }, "min_doc_count": 10, "script": { // populated by a global rule }, "include": ".*", "exclude": ".*", "execution_hint": {__one_of: ["map", "global_ordinals", "global_ordinals_hash", "global_ordinals_low_cardinality"]}, "show_term_doc_count_error": {__one_of: [true, false]}, "collect_mode": {__one_of: ["depth_first", "breadth_first"]}, "missing": "" }, "significant_terms": { __template: { "field": "" }, "field": "{field}", "size": 10, "shard_size": 10, "shard_min_doc_count": 10, "min_doc_count": 10, "include": ".*", "exclude": ".*", "execution_hint": {__one_of: ["map", "global_ordinals", "global_ordinals_hash"]}, "background_filter": { __scope_link: "GLOBAL.filter" }, "mutual_information": { "include_negatives": {__one_of: [true, false]} }, "chi_square": { "include_negatives": {__one_of: [true, false]}, "background_is_superset": {__one_of: [true, false]} }, "percentage": {}, "gnd": { "background_is_superset": {__one_of: [true, false]} }, "script_heuristic": { __template: { "script": "_subset_freq/(_superset_freq - _subset_freq + 1)" }, "script": { // populated by a global rule } } }, "range": { __template: { "field": "", "ranges": [ {"from": 50, "to": 100}, ] }, "field": "{field}", "ranges": [ {"to": 50, "from": 100, "key": ""} ], "keyed": {__one_of: [true, false]}, "script": { // populated by a global rule } }, "date_range": { __template: { "field": "", "ranges": [ {"from": "now-10d/d", "to": "now"}, ] }, "field": "{field}", "format": "MM-yyy", "ranges": [ {"to": "", "from": "", "key": ""} ], "keyed": {__one_of: [true, false]}, "script": { // populated by a global rule } }, "ip_range": { __template: { "field": "", "ranges": [ {"from": "10.0.0.5", "to": "10.0.0.10"}, ] }, "field": "{field}", "format": "MM-yyy", "ranges": [ {"to": "", "from": "", "key": "", "mask": "10.0.0.127/25"} ], "keyed": {__one_of: [true, false]}, "script": { // populated by a global rule } }, "histogram": { __template: { "field": "price", "interval": 50 }, "field": "{field}", "interval": 50, "min_doc_count": 0, "order": { __template: { "_key": "asc" }, "_key": {__one_of: ["asc", "desc"]}, "_count": {__one_of: ["asc", "desc"]}, "*": {__one_of: ["asc", "desc"]} }, "keyed": {__one_of: [true, false]}, "missing": 0 }, "date_histogram": { __template: { "field": "date", "interval": "month" }, "field": "{field}", "interval": {__one_of: ["year", "quarter", "week", "day", "hour", "minute", "second"]}, "min_doc_count": 0, "order": { __template: { "_key": "asc" }, "_key": {__one_of: ["asc", "desc"]}, "_count": {__one_of: ["asc", "desc"]}, "*": {__one_of: ["asc", "desc"]} }, "keyed": {__one_of: [true, false]}, "pre_zone": "-01:00", "post_zone": "-01:00", "pre_zone_adjust_large_interval": {__one_of: [true, false]}, "factor": 1000, "pre_offset": "1d", "post_offset": "1d", "format": "yyyy-MM-dd", "time_zone": "00:00", "missing": "" }, "geo_distance": { __template: { "field": "location", "origin": {"lat": 52.3760, "lon": 4.894}, "ranges": [ {"from": 100, "to": 300}, ] }, "field": "{field}", "origin": {"lat": 0.0, "lon": 0.0}, "unit": {__one_of: ["mi", "km", "in", "yd", "m", "cm", "mm"]}, "ranges": [ {"from": 50, "to": 100} ], "distance_type": {__one_of: ["arc", "sloppy_arc", "plane"]} }, "geohash_grid": { __template: { "field": "", "precision": 3 }, "field": "{field}", "precision": {__one_of: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]}, "size": 10, "shard_size": 10 }, "percentiles": { __template: { "field": "", "percents": [1.0, 5.0, 25.0, 50.0, 75.0, 95.0, 99.0] }, "field": "{field}", "percents": { __template: [1.0, 5.0, 25.0, 50.0, 75.0, 95.0, 99.0], // mark type as list __any_of: [] }, "script": { // populated by a global rule }, "compression": 100, "method": {__one_of: ["hdr", "tdigest"]}, missing: 0 }, "cardinality": { __template: { "field": "" }, "precision_threshold": 100, "rehash": true, "script": { // populated by a global rule }, missing: "" }, "scripted_metric": { __template: { "init_script": "", "map_script": "", "combine_script": "", "reduce_script": "" }, "init_script": { __scope_link: "GLOBAL.script" }, "map_script": { __scope_link: "GLOBAL.script" }, "combine_script": { __scope_link: "GLOBAL.script" }, "reduce_script": { __scope_link: "GLOBAL.script" }, "lang": "groovy", "params": {}, "reduce_params": {} }, "geo_bounds": { __template: { field: "" }, field: "{field}", wrap_longitude: {__one_of: [true, false]} }, "top_hits": { __template: { size: 10 }, from: 0, size: 10, sort: { __template: [], __scope_link: "_search.sort" }, highlight: {}, explain: {__one_of: [true, false]}, _source: { __template: "", __scope_link: "_search._source" }, script_fields: { __scope_link: "_search.script_fields" }, fielddata_fields: ["{field}"], version: {__one_of: [true, false]} }, "percentile_ranks": { __template: { field: "", values: [10, 15] }, field: "{field}", values: [], "script": { // populated by a global rule }, "compression": 100, "method": {__one_of: ["hdr", "tdigest"]}, missing: 0 }, "sampler": { __template: {}, "field": "{field}", "script": { // populated by a global rule }, "shard_size": 100, "max_docs_per_value": 3, "execution_hint": {__one_of: ["map", "global_ordinals", "bytes_hash"]} }, "children": { __template: { "type": "", }, "type": "" }, "derivative": simple_pipeline, "avg_bucket": simple_pipeline, "max_bucket": simple_pipeline, "min_bucket": simple_pipeline, "sum_bucket": simple_pipeline, "moving_avg": { __template: { buckets_path: "" }, buckets_path: "", format: "", gap_policy: gap_policy, "window": 5, model: {__one_of: ["simple", "linear", "ewma", "holt", "holt_winters"]}, settings: { type: {__one_of: ["add", "mult"]}, alpha: 0.5, beta: 0.5, gamma: 0.5, period: 7 } }, "cumulative_sum": { __template: { buckets_path: "" }, buckets_path: "", format: "" }, "serial_diff": { __template: { buckets_path: "", lag: 7 }, lag: 7, gap_policy: gap_policy, buckets_path: "", format: "" }, "bucket_script": { __template: { buckets_path: "", script: {} }, buckets_path: "", format: "", gap_policy: gap_policy, script: { // populated by a global rule } }, "bucket_selector": { __template: { buckets_path: "", script: {} }, buckets_path: "", gap_policy: gap_policy, script: { // populated by a global rule } } } }; module.exports = function (api) { api.addGlobalAutocompleteRules('aggregations', rules); api.addGlobalAutocompleteRules('aggs', rules); };