[Elasticsearch] 기간 검색 형식 모음
안녕하세요. yeTi입니다.
오늘은 Elasticsearch를 활용할때 유용한 기간 검색 형식을 나열해보겠습니다.
본 형식은 Kibana의 필터를 사용할때도 유용합니다.
0. 날짜 형식 이해하기
- 현재 시간이 2015-08-15 12:01:01 이면:
- now/d = 2015-08-15 00:00:00
- now/H = 2015-08-15 12:00:00
- now/m = 2015-08-15 12:01:00
- now/s = 2015-08-15 12:01:01
- now-1h/d = (2015-08-15 12:01:01) - 1h = (2015-08-15 11:01:01) / d = 2015-08-15 00:00:00
- now+1h/d = (2015-08-15 12:01:01) + 1h = (2015-08-15 13:01:01) / d = 2015-08-15 00:00:00
- now-13h/d = (2015-08-15 12:01:01) - 13h = (2015-08-14 23:01:01) / d = 2015-08-14 00:00:00
- now-1h/H = (2015-08-15 12:01:01) - 1h = (2015-08-15 11:01:01) / H = 2015-08-15 11:00:00
- now-1h/m = (2015-08-15 12:01:01) - 1h = (2015-08-15 11:01:01) / H = 2015-08-15 11:01:00
- now/d-1h = (2015-08-15 00:00:00) - 1h = 2015-08-14 23:00:00
- now/d+1h = (2015-08-15 00:00:00) + 1h = 2015-08-15 01:00:00
- now/d-13h = (2015-08-15 00:00:00) - 13h = 2015-08-14 11:00:00
1. 어제부터 오늘까지 검색
- date is between now-1d/d now
- {
"range": {
"regDate": {
"gte": "now-1d/d",
"lt": "now"
}
}
}
2. 특정기간 검색
- date is between 2018-11-26T19:00:00.000Z 2018-11-26T21:00:00.000Z
- {
"range": {
"regDate": {
"gte": "2018-11-26T19:00:00.000Z",
"lt": "2018-11-26T21:00:00.000Z"
}
}
}
3. 최근 5분간 검색
- date is between now-5m/m now
- {
"range": {
"regDate": {
"gte": "now-5m/m",
"lt": "now"
}
}
}
참고 문헌