ElasticSearch 사용 요약(7)
14134 단어 ElasticSearch
가장 간단한 예는 한 학급 시험 60점 이하, 60~80점, 80~100점을 통계하려면 ES에서 명령 하나만 있으면 쉽게 통계할 수 있는데...집합 예
{
"aggs":{
"grade_ranges":{
"range":{
"field":"grade",
"ranges":[
{"to":60},
{"from":60,"to":80},
{"from":80}]
}
}
}
}
다음과 같은 결과를 얻을 수 있습니다.
{
...
"aggregations":{
"price_ranges":{
"buckets":[
{
"to":60,
"doc_count":2
},
{
"from":60,
"to":80,
"doc_count":32
},
{
"from":80,
"doc_count":14
}
]
}
}
}
복잡한 예, 각 구간의 이름을 지정하면keyed:true를 설정하여 각 구간이 특정한 이름으로 되돌아갈 수 있습니다
{
...
"aggregations":{
"price_ranges":{
"buckets":{
"*-50.0":{
"to":50,
"doc_count":2
},
"50.0-100.0":{
"from":50,
"to":100,
"doc_count":4
},
"100.0-*":{
"from":100,
"doc_count":4
}
}
}
}
}
물론 구간의 이름도 지정할 수 있습니다.
{
"aggs":{
"price_ranges":{
"range":{
"field":"price",
"keyed":true,
"ranges":[
{"key":"cheap","to":50},
{"key":"average","from":50,"to":100},
{"key":"expensive","from":100}
]
}
}
}
}
스크립트를 사용하는 것은 다른 집합과 유사합니다. Range 집합은 스크립트 사용을 지원합니다.
{
"aggs":{
"price_ranges":{
"range":{
"script":"doc['price'].value",
"ranges":[
{"to":50},
{"from":50,"to":100},
{"from":100}
]
}
}
}
}
파일 스크립트나 스크립트 값의 조작은 모두 다른 것과 차이가 많지 않기 때문에 더 이상 군더더기 없이 설명할 필요가 없다.중합 플러그인은 보통 구간 중합에서 중합됩니다. 예를 들어 우리는 각 구간에서 통계stats 중합을 합니다.
{
"aggs":{
"price_ranges":{
"range":{
"field":"price",
"ranges":[
{"to":50},
{"from":50,"to":100},
{"from":100}
]},
"aggs":{
"price_stats":{
"stats":{ "field":"price" } }
}
}
}
}
결과는 다음과 같습니다.
{
"aggregations":{
"price_ranges":{
"buckets":[
{
"to":50,
"doc_count":2,
"price_stats":{
"count":2,
"min":20,
"max":47,
"avg":33.5,
"sum":67 }
},
{
"from":50,
"to":100,
"doc_count":4,
"price_stats":{
"count":4,
"min":60,
"max":98,
"avg":82.5,
"sum":330 }
},
{
"from":100,
"doc_count":4,
"price_stats":{
"count":4,
"min":134,
"max":367,
"avg":216,
"sum":864 }
}
]
}
}
}
집합 필드를 지정하지 않으면 기본적으로 Range 집합 필드를 기준으로 집계됩니다.
{
"aggs":{
"price_ranges":{
"range":{
"field":"price",
"ranges":[
{"to":50},
{"from":50,"to":100},
{"from":100}
]
},
"aggs":{
"price_stats":{
"stats":{} }
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring-data-elasticsearch 페이지 조회부록: 1. 이름에서 알 수 있듯이QueryBuilder는 검색 조건, 필터 조건을 구축하는 데 사용되고 SortBuilder는 정렬을 구축하는 데 사용된다. 예를 들어 우리는 어느 위치에서 100미터 범위 내의 모...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.