반응형
Recent Posts
Recent Comments
관리 메뉴

개발잡부

[es] file system cache 를 이용한.. 본문

ElasticStack/Elasticsearch

[es] file system cache 를 이용한..

닉의네임 2023. 9. 25. 08:01
반응형

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

 

[es] elasticsearch cache 모니터링 (query_cache, request_cache)

검색 결과 리스팅은 Query Cache에, 검색 결과에 대한 집계 는 Request Cache 에 저장 된다 그렇다면 둘다 확인해서 multi_match + aggs 의 결과가 어디에 캐싱된건지 확인 GET /location-index/_stats/query_cache?human {

ldh-6019.tistory.com

 

반응형
Comments