diff --git a/lambda/query/__init__.py b/lambda/query/__init__.py index 14e874c..014e983 100644 --- a/lambda/query/__init__.py +++ b/lambda/query/__init__.py @@ -338,10 +338,28 @@ def get_sites(event, context): path = "sites/_search" payload = { "version": True, - "size": 10000, + "size": 0, "_source": { "excludes": [] }, + "aggs": { + "2": { + "terms": { + "field": "station.keyword", + "order": {"_key": "desc"}, + "size": 10000, + }, + + "aggs": { + "1": { + "top_hits": { + "size": 1, + "sort": [{"datetime": {"order": "desc"}}], + } + } + } + } + }, "query": { "bool": { "filter": [ @@ -362,7 +380,7 @@ def get_sites(event, context): } ) results = es.request(json.dumps(payload), path, "POST") - output = {x['_source']['station']: x['_source'] for x in results['hits']['hits']} + output = {x['1']['hits']['hits'][0]['_source']['station']: x['1']['hits']['hits'][0]['_source'] for x in results['aggregations']['2']['buckets']} compressed = BytesIO() with gzip.GzipFile(fileobj=compressed, mode='w') as f: diff --git a/lambda/query/__main__.py b/lambda/query/__main__.py index 9e955e6..3cec088 100644 --- a/lambda/query/__main__.py +++ b/lambda/query/__main__.py @@ -62,24 +62,24 @@ from . import * # {}, # ) # ) -# print(get_sites({},{})) +print(get_sites({},{})) -a=get_telem( - { - "queryStringParameters": { - "duration": "3h", - # "serial": "S4430086" - }},{} +# a=get_telem( +# { +# "queryStringParameters": { +# "duration": "3h", +# # "serial": "S4430086" +# }},{} - ) -b=get_telem( - { - "queryStringParameters": { - "duration": "3h", - "serial": "5C3A7D72" - }},{} +# ) +# b=get_telem( +# { +# "queryStringParameters": { +# "duration": "3h", +# "serial": "5C3A7D72" +# }},{} - ) +# ) # print ( # get_chase( # {"queryStringParameters": {