ElasticSearch를 이용하다보면 가끔씩 필드 속성제한을 해제할 필요가 있다.
그럴때 아래와 같은 명령어를 통해서 설정할 수 있다.
PUT test_index/_settings
{
"index.mapping.total_fields.limit": 2000
}
그리고 Aggreagation 의 요청 처리속도는 size 설정이 영향을 미치지 않는다.
"query": {
"bool": {
"must": [
{
"range": {
"systemtime.keyword": {
"from": "2022-02-25 00:00:00",
"to": null,
"include_lower": true,
"include_upper": true,
"format": "yyyy-MM-dd HH:mm:ss",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
}
요 쿼리요청과
"aggregations": {
"cpu_usage_per": {
"avg": {
"field": "cpu_usage_per"
}
},
"mem_total": {
"sum": {
"field": "mem_total"
}
},
"mem_used": {
"sum": {
"field": "mem_used"
}
},
"disk_total": {
"sum": {
"field": "disk_total"
}
},
"disk_usage": {
"sum": {
"field": "disk_usage"
}
}
}
이 Aggregation 요청은
query요청은 각각의 필드들을 response에 뿌려줘야하기 때문에 size가 크면 클수록 처리속도가 느려지지만
Aggregation은 뿌려줄 필요없이 통계값만 보내주면 되기때문에 size가 커진다고 처리속도 영향을 주지 않으며
query조건에 맞는 aggregation 결과만 response로 원할경우엔
size를 0으로 설정해서 요청하는 것이 바람직하다.
'ElasticSearch' 카테고리의 다른 글
Elasticsearch 기본개념 정리 (1) : Elasticsearch의 개념과 특징, 노드(node) 그리고 클러스터(cluster)에 대해서 (0) | 2022.12.25 |
---|---|
ElasticSearch - inculde (0) | 2022.11.02 |
ElasticSearch - _delete_by_query 사용 (0) | 2022.03.16 |
ElasticSearch - 필드 데이터 타입 확인하기 (0) | 2022.03.02 |
ElasticSearch - DSL(Domain Specific Language) 이란 무엇인가? (0) | 2022.02.23 |