mysql - How to convert this SQL query to an Elasticsearch query? -
i'm new elasticsearch querying, i'm little lost on how convert sql query elasticsearch query:
select time_interval, type, sum(count) test (&start_date <= t_date <= &end_date) group time_interval, type
i know can use "range" query set parameters gte , lte, if there's clearer way this, better. in advance!
edit:
my elasticsearch setup have index: "test" type: "summary" , contains json documents have few fields:
t_datetime
t_date
count
type
*t_id**
the ids these json documents t_date concatenated t_id values
assuming, t_datetime
same time_interval
, can use query below:
post trans/summary/_search?search_type=count { "aggs": { "filtered_results": { "filter": { "range": { "t_date": { "gte": "2015-05-01", "lte": "2015-05-30" } } }, "aggs": { "time_interval_type_groups": { "terms": { "script": "doc['t_datetime'].value + '_' + doc['type'].value", "size": 0 }, "aggs": { "sum_of_count": { "sum": { "field": "count" } } } } } } } }
this query making use of scripts. on newer versions of elasticsearch, dynamic scripting disabled default. enable dynamic scripting, follow this.
Comments
Post a Comment