Elasticsearch--Aggregation 상세 요약(집계)
30901 단어 Elasticsearch
Aggregation은 모두 세 가지로 나뉘는데 그것이 바로 Metric Aggregations, Bucket Aggregations, Pipeline Aggregations이다.다음은 각각 정리할 것이다.
아래의 모든 내용은 홈페이지에서 나온다. 원래의 맛을 좋아하는 것은 아래의 사이트 주소를 참조하고, 영어를 좋아하지 않는 것은 본인의 총결산을 참조한다.
홈페이지(권위자):https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-aggregations-metrics-avg-aggregation.html
#########################################
1、Metric Aggregations
1>Avg Aggregation#필드 평균값 계산
{
"aggs" : {
"avg_grade" : { "avg" : { "field" : "grade" } }
}
}
예:GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "avg_grade": { "avg": { "field": "grade" } } } }
매개 변수:search_type=count는aggregation 부분만 되돌려줍니다.
2>Cardinality Aggregation #은 필드의 고유 값을 계산합니다.sql의distinct
{
"aggs" : {
"author_count" : {
"cardinality" : {
"field" : "author"
}
}
}
}
예:GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "author_count": { "cardinality": { "field": "author" } } } }
3>Extended Stats Aggregation# 필드의 다른 속성은 최대 최소, 방차 등을 포함한다.
{
"aggs" : {
"grades_stats" : { "extended_stats" : { "field" : "grade" } }
}
}
예: GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "grades_stats": { "extended_stats": { "field": "grade" } } } }
반환값:
{
...
"aggregations": {
"grade_stats": {
"count": 9,
"min": 72,
"max": 99,
"avg": 86,
"sum": 774,
"sum_of_squares": 67028,
"variance": 51.55555555555556,
"std_deviation": 7.180219742846005,
"std_deviation_bounds": {
"upper": 100.36043948569201,
"lower": 71.63956051430799
}
}
}
}
4>Geo Bounds Aggregation#은 모든 지리 좌표가 하나의 직사각형 구역에 떨어진다고 계산합니다.예를 들어 조양 구역에 많은 호텔이 있다면 나는 직사각형으로 이 호텔들을 모두 둘러싸고 범위를 볼 수 있다.
{
"query" : {
"match" : { "business_type" : "shop" }
},
"aggs" : {
"viewport" : {
"geo_bounds" : {
"field" : "location",
"wrap_longitude" : true
}
}
}
}
예:
GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "viewport": { "geo_bounds": { "field": "location", "wrap_longitude": true } } } }
반환값:
{
...
"aggregations": {
"viewport": {
"bounds": {
"top_left": {
"lat": 80.45,
"lon": -160.22
},
"bottom_right": {
"lat": 40.65,
"lon": 42.57
}
}
}
}
}
주석: 이 사각형 영역의 왼쪽 상단 좌표와 오른쪽 하단 좌표가 이미 제시되었습니다.즉, 네가 알아낸 데이터는 모두 이 지리적 범위 내에 떨어질 것이다.
5>Geo Centroid Aggregation#은 모든 문서의 대략적인 중심점을 계산합니다.예를 들어 어떤 지역에서 절도 범죄가 매우 많다면, 나는 이렇게 하면 이 지역이 도대체 어느 점(거리)에서 절도 사건이 가장 날뛰는 것을 볼 수 있다.
{
"query" : {
"match" : { "crime" : "burglary" }
},
"aggs" : {
"centroid" : {
"geo_centroid" : {
"field" : "location"
}
}
}
}
예:
GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "centroid": { "geo_centroid": { "field": "location" } } } }
6>Max Aggregation#최대값 구하기
{
"aggs" : {
"max_price" : { "max" : { "field" : "price" } }
}
}
예:GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "max_price": { "max": { "field": "price" } } } }
7>Min Aggregation#최소값 구하기
{
"aggs" : {
"min_price" : { "min" : { "field" : "price" } }
}
}
예:GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "min_price": { "min": { "field": "price" } } } }
8>Percentiles Aggregation # 백분율 통계.당신의 사이트의 모든 페이지를 볼 수 있습니다.로드 시간 차이.
{
"aggs" : {
"load_time_outlier" : {
"percentiles" : {
"field" : "load_time"
}
}
}
}
예:GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "load_time_outlier": { "percentiles": { "field": "load_time" } } } }
복귀: 이 사이트의 75% 페이지가 29밀리초 정도에 로드되었음을 알 수 있습니다.페이지의 5%가 60밀리초를 넘었다.
{
...
"aggregations": {
"load_time_outlier": {
"values" : {
"1.0": 15,
"5.0": 20,
"25.0": 23,
"50.0": 25,
"75.0": 29,
"95.0": 60,
"99.0": 150
}
}
}
}
9>Percentile Ranks Aggregation #15밀리초와 30밀리초 안에 몇 개의 페이지가 불러왔는지 보십시오.
{
"aggs" : {
"load_time_outlier" : {
"percentile_ranks" : {
"field" : "load_time",
"values" : [15, 30]
}
}
}
}
예:
GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "load_time_outlier": { "percentile_ranks": { "field": "load_time", "values": [ 15, 30 ] } } } }
반환: 15밀리초 동안 92% 페이지가 로드되었습니다.30밀리초 동안 기본적으로 로드가 완료됩니다.
{
...
"aggregations": {
"load_time_outlier": {
"values" : {
"15": 92,
"30": 100
}
}
}
}
10>Stats Aggregation#최대, 최소, 및, 평균.함께 구하다
{
"aggs" : {
"grades_stats" : { "stats" : { "field" : "grade" } }
}
}
예:
GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "grades_stats": { "stats": { "field": "grade" } } } }
11>Sum Aggregation #Cloud
"aggs" : {
"intraday_return" : { "sum" : { "field" : "change" } }
}
예:GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "intraday_return": { "sum": { "field": "change" } } } }
12 > Top hits Aggregation # 에서 자주 사용하는 통계입니다.각 그룹의 앞 n 개의 데이터를 가져옵니다.sql에서 그룹by를 꺼낸 후 앞 n줄을 꺼내는 것과 같습니다.
{
"aggs": {
"top-tags": {
"terms": {
"field": "tags",
"size": 3
},
"aggs": {
"top_tag_hits": {
"top_hits": {
"sort": [
{
"last_activity_date": {
"order": "desc"
}
}
],
"_source": {
"include": [
"title"
]
},
"size" : 1
}
}
}
}
}
}
예: 100조를 취하고 각 조는 첫 번째 조만 취한다.bain을 만나기 위해서는order와_소스, 스스로 테스트하세요.GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "all_interests": { "terms": { "field": "zxw_id", "size": 100 }, "aggs": { "top_tag_hits": { "top_hits": { "size": 1 } } } } } }
14>Value Count Aggregation # 수량 통계, 이 필드에 모두 몇 개의 다른 수치가 있는지 보십시오.
{
"aggs" : {
"grades_count" : { "value_count" : { "field" : "grade" } }
}
}
예:GET index/type/_search?search_type=count { "query": { "match_all": {} }, "aggs": { "grades_count": { "value_count": { "field": "grade" } } } }
2. Bucket Aggregations는 두 번째 유형의 통계이다.후속도 베껴 쓰니 여러분 직접 보세요.문제 해결 [email protected]메일을 보내다.
웹 사이트:https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-aggregations-bucket-children-aggregation.html
3. Pipeline Aggregations #는 세 번째 유형의 집합입니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Embulk를 사용하여 ElasticCloud로 보내기Embulk에서 ElasticCloud에 보낼 수 있을까라고 생각비망록도 겸해 기술을 남깁니다 Embulk 설치 ElasticCloud (14 일 체험판) brew라면 아래 명령 입력 파일 만들기 파일 내용 seed...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.