일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- docker
- query
- aggregation
- sort
- springboot
- 차트
- analyzer test
- token filter test
- Mac
- Python
- matplotlib
- Kafka
- License
- Elasticsearch
- Test
- 파이썬
- plugin
- flask
- zip 암호화
- TensorFlow
- MySQL
- API
- aggs
- Java
- license delete
- 900gle
- zip 파일 암호화
- ELASTIC
- high level client
- licence delete curl
Archives
- Today
- Total
개발잡부
[es] file system cache 를 이용한.. 본문
반응형
file system cache 를 이용한.. 꼼수를 부려보자
기존쿼리 + AGGS 를 사용하는데 file system cache 를 이용할 수 가 없다. 왜냐..면
size 가 0이 될 수 없는 상황..
그래서 AGGS size 0을 먼저 실행하고 그다음 검색쿼리를 실행하면 캐싱을 이용하지 않을까 하는 생각이 있는데
테스트를 해보자
location 정보를 색인할 예정이고
"country_code": {
"type": "keyword"
},
"city": {
"type": "keyword"
},
city 를 집계하고 country code 를 쿼리한다.
flowchart
이게 가능한가? aggs name 으로 캐시가 생성되면 가능할꺼 같기도 한데..
aggs 결과를 쿼리결과와 합치지 않아도 된다면 후 처리 로직이 더 줄어들 듯한..
아무튼 테스트 해보자
800만개짜리 location 인덱스를 만들었다.
오늘의 제물
AS-IS query
multi_match + aggs
{
"query": {
"multi_match" : {
"query": "{keyword}",
"fields": [ "country_code"]
}
},
"aggs": {
"CITY": {
"terms": {
"field": "city"
}
},
"COUNTRY": {
"terms": {
"field": "country"
}
}
}
}
country code 50개 테스트
앵?? 캐시를 타는...건..가?
match_all
일단 match_all 로 테스트를 해봐야겠다.
size : 0 없이 실행
size : 0 추가
확연한 차이를 보이는
multi_match 로 실행하는경우는 캐싱이 되는거 같은데 샤드레벨에서 캐싱된 듯한...
캐싱이 되어있는지 확인을 해보잣!
다음시간에
https://ldh-6019.tistory.com/548
반응형
'ElasticStack > Elasticsearch' 카테고리의 다른 글
Aggs cardinality (0) | 2023.11.13 |
---|---|
[es] elasticsearch cache 모니터링 (query_cache, request_cache) (0) | 2023.09.25 |
[es] Warm up global ordinals (0) | 2023.09.25 |
[es] elasticsearch 성능개선 (elasticsearch cache) (0) | 2023.09.25 |
[es] script query (2) | 2023.09.01 |
Comments