All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rest-api-spec.test.search.aggregation.150_stats_metric.yml Maven / Gradle / Ivy

The newest version!
setup:
  - do:
      indices.create:
          index: test_1
          body:
            settings:
              number_of_replicas: 0
            mappings:
              properties:
                int_field:
                   type : integer
                double_field:
                   type : double
                string_field:
                   type: keyword

  - do:
       bulk:
         refresh: true
         body:
           - index:
               _index: test_1
               _id:    1
           - int_field: 1
             double_field: 1.0
             string_field: foo
           - index:
               _index: test_1
               _id:    2
           - int_field: 51
             double_field: 51.0
             string_field: foo
           - index:
               _index: test_1
               _id:    3
           - int_field: 101
             double_field: 101.0
             string_field: foo
           - index:
               _index: test_1
               _id:    4
           - int_field: 151
             double_field: 151.0
             string_field: foo

---
"Basic test":

  - do:
      search:
        rest_total_hits_as_int: true
        body:
          aggs:
            the_int_stats:
              stats:
                field: int_field
            the_double_stats:
              stats:
                field: double_field

  - match: { hits.total: 4 }
  - length: { hits.hits: 4 }
  - match: { aggregations.the_int_stats.count: 4 }
  - match: { aggregations.the_int_stats.min: 1.0 }
  - match: { aggregations.the_int_stats.max: 151.0 }
  - match: { aggregations.the_int_stats.avg: 76.0 }
  - match: { aggregations.the_int_stats.sum: 304.0 }
  - match: { aggregations.the_double_stats.count: 4 }
  - match: { aggregations.the_double_stats.min: 1.0 }
  - match: { aggregations.the_double_stats.max: 151.0 }
  - match: { aggregations.the_double_stats.avg: 76.0 }
  - match: { aggregations.the_double_stats.sum: 304.0 }

---
"Only aggs test":

  - do:
      search:
        rest_total_hits_as_int: true
        body:
          size: 0
          aggs:
            the_int_stats:
              stats:
                field: int_field
            the_double_stats:
              stats:
                field: double_field

  - match: { hits.total: 4 }
  - length: { hits.hits: 0 }
  - match: { aggregations.the_int_stats.count: 4 }
  - match: { aggregations.the_int_stats.min: 1.0 }
  - match: { aggregations.the_int_stats.max: 151.0 }
  - match: { aggregations.the_int_stats.avg: 76.0 }
  - match: { aggregations.the_int_stats.sum: 304.0 }
  - match: { aggregations.the_double_stats.count: 4 }
  - match: { aggregations.the_double_stats.min: 1.0 }
  - match: { aggregations.the_double_stats.max: 151.0 }
  - match: { aggregations.the_double_stats.avg: 76.0 }
  - match: { aggregations.the_double_stats.sum: 304.0 }

---
"Filtered test":

  - do:
      search:
        rest_total_hits_as_int: true
        body:
          query:
            constant_score:
              filter:
                range:
                  int_field:
                    gte: 50
          aggs:
            the_int_stats:
              stats:
                field: int_field
            the_double_stats:
              stats:
                field: double_field

  - match: { hits.total: 3 }
  - length: { hits.hits: 3 }
  - match: { aggregations.the_int_stats.count: 3 }
  - match: { aggregations.the_int_stats.min: 51.0 }
  - match: { aggregations.the_int_stats.max: 151.0 }
  - match: { aggregations.the_int_stats.avg: 101.0 }
  - match: { aggregations.the_int_stats.sum: 303.0 }
  - match: { aggregations.the_double_stats.count: 3 }
  - match: { aggregations.the_double_stats.min: 51.0 }
  - match: { aggregations.the_double_stats.max: 151.0 }
  - match: { aggregations.the_double_stats.avg: 101.0 }
  - match: { aggregations.the_double_stats.sum: 303.0 }


---
"Missing field with missing param":

  - do:
      search:
        rest_total_hits_as_int: true
        body:
          aggs:
            the_missing_stats:
              stats:
                field: foo
                missing: 1

  - match: { hits.total: 4 }
  - length: { hits.hits: 4 }
  - match: { aggregations.the_missing_stats.count: 4 }
  - match: { aggregations.the_missing_stats.min: 1.0 }
  - match: { aggregations.the_missing_stats.max: 1.0 }
  - match: { aggregations.the_missing_stats.avg: 1.0 }
  - match: { aggregations.the_missing_stats.sum: 4.0 }

---
"Missing field without missing param":

  - do:
      search:
        rest_total_hits_as_int: true
        body:
          aggs:
            the_missing_stats:
              stats:
                field: foo

  - match: { hits.total: 4 }
  - length: { hits.hits: 4 }
  - is_false: aggregations.the_missing_stats.value

---
"Metadata test":

  - do:
      search:
        rest_total_hits_as_int: true
        body:
          aggs:
            the_int_stats:
              meta:
                foo: bar
              stats:
                field: int_field

  - match: { hits.total: 4 }
  - length: { hits.hits: 4 }
  - match: { aggregations.the_int_stats.count: 4 }
  - match: { aggregations.the_int_stats.min: 1.0 }
  - match: { aggregations.the_int_stats.max: 151.0 }
  - match: { aggregations.the_int_stats.avg: 76.0 }
  - match: { aggregations.the_int_stats.sum: 304.0 }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy