ELK Side Project 1 (3/4)

KIMAKUMA·2023년 2월 21일

ELK

목록 보기
6/7
post-thumbnail

Part 1


Part 2

01. ElasticSearch 기반 데이터 검색

Kibana의 Dev Tools를 사용했다.

curl을 사용할 수도, postman이나 insomnia를 사용할 수도 있다!

1) 전체 데이터 조회하기

GET fire/_search
{
  "size": 60, 
  "query": {
    "match_all": {}
  }
}
  • matsh_all을 사용하여 전체 데이터를 검색하였다.
  • size를 60으로 지정하여 60건만 보이도록 하였다.

1번 결과

  • 총 데이터 개수는 102개로 확인되었다.
  • 인덱스명은 fire인 것을 볼 수 있다.
  • _source 내에서 데이터 확인 가능하다.

2) 총 화재접수건수 조회하기

GET fire/_search
{
  "size": 0, 
  "aggs": {
    "total_fire": {
      "sum": {
        "field": "화재접수건수"
      }
    }
  }
}
  • 데이터가 아닌 총 건수를 알고 싶기 때문에 size를 0으로 지정해줬다.
  • aggs를 사용하여 화재접수건수의 총합을 구하였다.

2번 결과

  • 총 102개의 데이터에서 검색을 했다.
  • aggregations 내에서 total_fire란 필드명으로 총 화재접수건수가 2956건 임을 확인할 수 있다.
  • size가 0이었기 때문에 데이터는 보이지 않는다.ㄴ

3) 서울특별시의 총 화재접수건수 조회하기

GET fire/_search
{
  "query": {
    "match": {
      "시도명.keyword": "서울특별시"
    }
  },
  "size": 0, 
  "aggs": {
    "total": {
      "sum": {
        "field": "화재접수건수"
      }
    }
  }
}
  • match를 사용하여 서울특별시의 경우만 선택해주었다.
  • 마찬가지로 데이터가 아닌 건수를 알고 싶기 때문에 size를 0으로 지정해줬다.
  • aggs를 사용하여 query,match를 통해 선택된 서울특별시의 경우에서 화재접수건수의 총합을 구하였다.

3번 결과

  • 서울특별시의 경우 6건의 데이터가 있고, 마찬가지로 합은 271건 임을 확인할 수 있다.

4) 허위신고건수가 1건 이상인 발생일자 조회하기

GET fire/_search
{
  "_source": "발생일자", 
  "query": {
    "range": {
      "허위신고건수": {
        "gte": 1
        }
    }
  }
}
  • 데이터 중에서 발생일자만 알고 싶기 때문에 _source에서 발생일자를 지정해주었다.
  • rangegte를 사용하여 허위신고건수가 1건 이상인 데이터를 검색하였다.
    • gte: Greater Than or Equal, 이상
    • gt: Greater Than, 초과
    • lte: Less Than, 이하
    • lt: Less Than, 미만

4번 결과

  • 허위신고가 1건 이상인 날은 totalvalue 필드에서 1건 임을 확인할 수 있다.
  • _source 지정을 통해 해당 건의 발생일자를 확인할 수 있다.

5) 특정 발생일자 이후 데이터의 수와 데이터 조회하기

GET fire/_search
{
  "size": 50, 
  "query": {
    "range": {
      "발생일자": {
        "gte": "2023-02-20"
      }
    }
  },
  "aggs": {
    "total": {
      "sum": {
        "field": "화재접수건수"
      }
    }
  }
}
  • 데이터도 함께 보기 위해 size를 사용하여 50개의 데이터를 확인할 수 있게 하였다.
  • 특정 발생일자 이후의 데이터가 궁금하여 rangegte를 사용하여 검색하였다.
  • aggssum을 사용하여 특정 발생일자 이후의 화재접수건수의 총합을 구하였다.

5번 결과

  • 특정 발생일자 이후로 17건이 검색되었다.
  • aggregations를 확인하기 위해 size를 1로 바꿔쓰고 실행하였다.
  • 데이터는 1건만 보이고, aggregations를 통해 총합은 512임을 확인할 수 있다.

궁금하거나 보고 싶은 데이터가 있다면 댓글 남겨주세요!

0개의 댓글