issues
search
Develop-Study
/
ElasticSearch-study
0
stars
0
forks
source link
5장. 엘라스틱서치: 집계
#8
Open
seryang
opened
2 years ago
seryang
commented
2 years ago
ES에서 집계는 데이터를 그룹핑하고 통계값을 얻는 기능으로 SQL의 GROUP BY와 통계 함수를 포함하는 개념
이를테면 데이터를 날짜별로 묶거나 특정 카테고리별로 묶어 그룹별 통계를 내는 식
이런 집계 기능은 강력한 검색 성능과 맞물려 ES를 고성능 집계 엔진으로 활용할 수 있게 해주는데, 대표적인 활용 사례로 키바나를 들 수 있음
키바나의 주 기능인 데이터 시각화와 대시보드는 대부분 집계 기능을 기반으로 동작하며, 집계를 제대로 이해할수록 키바나라는 툴을 더 잘 사용할 수 있음
집계의 요청 - 응답 형태
집계를 위한 특별한 API가 제공되는 것은 아니며, search API의 요청 본문에 aggs 파라미터를 이용하면 쿼리 결과에 대한 집계를 생성할 수 있음
집계를 위한 기본 형태
aggs는 집계 요청을 하겠다는 의미
my_aggs는 사용자가 지정하는 집계 이름 (응답 결과에서 확인할 수 있음)
agg_type은 집계 타입을 의미
ES는 크게 메트릭 집계 (meteric aggregations)와 버킷 집계 (bucket aggregations)라는 두 가지 타입의 집계가 있음
메트릭 집계는 통계나 계산에 사용되며, 버킷 집계는 도큐먼트를 그룹핑하는 데 사용
집계 응답 기본 형태
집계 요청에 대한 응답 결과
aggregations는 이 응답 메시지가 집계 요청에 대한 결과임을 알려줌
my_agg는 집계 이름으로 사용자가 지정한 이름
value는 실제 집계 결과
요청한 집계의 계층, 타입, 구성에 따라 결과의 형태는 변할 수 있음
메트릭 집계
seryang
commented
2 years ago
궁금
카디널리티 정확도 (precision_threshold) 의 정확도 수치
값이 크면 정확도가 올라가는 대신 시스템 리소스를 많이 소모하고, 값이 작으면 정확도는 떨어지는 대신 시스템 리소스를 덜 소모한다는데
기본 3000, 최대 40000이라는데 수치를 낮춰가며 40000을 써도 결과는 7이고, 100을 써도 결과는 7이니
정확도 수치를 가장 높였을때 나온 결과값이 정확도 수치를 낮췄을때 결과값과 동일하면 낮은 수치를 실무해서 사용하면 된다는 내용인지?
그리고 이런 임계점을 우리가 일일히 체크할 필요 없이 바로 제공할 수 있는 기능은 없는지 궁금
집계의 요청 - 응답 형태
메트릭 집계