У меня есть некоторые данные из запуска сценариев в моем elasticsearch:Elastic Search: Можно ли агрегировать более чем с одним полем даты?
{
"start":"2015-06-15T10:48:01.451Z",
"resolved":true,
"cmd":"blabla",
"lastUpdate":"2015-06-18T11:28:36.866Z",
"end":"2015-06-17T11:28:35.768Z"
}
Моя цель состоит в том, чтобы видеть в течение последних й дней ли работают скрипты. Запускаемые скрипты имеют время начала в поле «start» и время окончания в поле «end». В этом случае я ожидаю такой вид:
{ "date":"2015-06-14", "doc_count":"0",
"date":"2015-06-15", "doc_count":"1",
"date":"2015-06-16", "doc_count":"1",
"date":"2015-06-17", "doc_count":"1",
"date":"2015-06-18", "doc_count":"0"
}
Возможно ли это реализовать с помощью агрегатов или чего-то еще? Как я могу это построить?
Спасибо за любые предложения!
Я уже экспериментировал с агрегациями, но они не соответствовали моим потребностям. Я всегда могу ссылаться на одно поле даты и не рассматривать дни между началом и концом.
"aggs" : {
"range" : {
"date_range" : {
"field" : "start",
"format" : "dd.MM.yyyy",
"ranges" : [
{"to": "now", "from": "now/d"},
{"to": "now/d", "from": "now-1d/d"},
{"to": "now-1d/d", "from": "now-2d/d"},
{"to": "now-2d/d", "from": "now-3d/d"},
{"to": "now-3d/d", "from": "now-4d/d"},
{"to": "now-4d/d", "from": "now-5d/d"},
{"to": "now-5d/d", "from": "now-6d/d"}
]
}
},
Я думаю, что возможное решение - использовать сценарии полей в эластичном состоянии. Но на данный момент у меня возникают проблемы с двойными квадратными скобками в возврате запроса. Я не уверен, почему и что является следующим шагом. У меня есть другой билет, потому что скобки [ссылка] (http://stackoverflow.com/questions/31022483/elasticsearch-script-field-answer) – Sven