Skip to content

Commit

Permalink
Integration test for sample aggragator (elastic#77807)
Browse files Browse the repository at this point in the history
Adds and integration test for the sample aggregator. It's a fairly
simple aggregator - you can only chose how many documents it samples.
  • Loading branch information
nik9000 authored Sep 15, 2021
1 parent 6f47fa3 commit 9a545fb
Showing 1 changed file with 79 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
setup:
- do:
indices.create:
index: test
body:
settings:
number_of_shards: 1
mappings:
properties:
tags:
type: text
number:
type: integer

- do:
bulk:
index: test
refresh: true
body:
- '{"index": {}}'
- '{"tags": "kibana", "number": 1}'
- '{"index": {}}'
- '{"tags": "kibana", "number": 2}'
- '{"index": {}}'
- '{"tags": "kibana", "number": 3}'
- '{"index": {}}'
- '{"tags": "javascript", "number": 4}'

---
small shard_size:
- do:
search:
body:
query:
query_string:
query: 'tags:kibana OR tags:javascript'
aggs:
sample:
sampler:
shard_size: 1
aggs:
min_number:
min:
field: number
max_number:
max:
field: number


- match: { hits.total.value: 4 }
- match: { aggregations.sample.doc_count: 1 }
# The document with 4 has the highest score so we pick that one.
- match: { aggregations.sample.min_number.value: 4.0 }
- match: { aggregations.sample.max_number.value: 4.0 }

---
default shard size:
- do:
search:
body:
query:
query_string:
query: 'tags:kibana OR tags:javascript'
aggs:
sample:
sampler: {}
aggs:
min_number:
min:
field: number
max_number:
max:
field: number

- match: { hits.total.value: 4 }
# The default shard size is much larger than the four test documents we are working with
- match: { aggregations.sample.doc_count: 4 }
- match: { aggregations.sample.min_number.value: 1.0 }
- match: { aggregations.sample.max_number.value: 4.0 }

0 comments on commit 9a545fb

Please sign in to comment.