샤드 요청 캐시 설정
인덱스 또는 여러 인덱스에 대해 검색 요청이 실행되면 관련된 각 샤드가 로컬에서 검색을 실행하고 해당 샤드 수준의 결과를 '글로벌'결과 집합으로 결합 하는 조정 노드에 로컬 결과를 반환합니다 .
샤드 수준 요청 캐시 모듈은 각 샤드의 로컬 결과를 캐시합니다. 이렇게하면 자주 사용되는 (그리고 잠재적으로 과중한) 검색 요청이 거의 즉시 결과를 반환 할 수 있습니다. 요청 캐시는 가장 최근 색인 만 활발하게 업데이트되는 로깅 사용 사례에 매우 적합합니다. 이전 색인의 결과는 캐시에서 직접 제공됩니다.
기본적으로 요청 캐시는 검색 요청 결과 만 캐시 size=0하므로 캐시하지 않고 , 집계 및 제안 사항을hits 캐시 합니다 .hits.total
사용하는 대부분의 쿼리 now( Date Math 참조 )는 캐시 할 수 없습니다.
캐시 Math.random()되거나 new Date()캐시되지 않는 비 결정적 API 호출을 사용하는 스크립팅 된 쿼리입니다 .
캐시 무효화
캐시는 스마트합니다 . 캐시되지 않은 검색 과 거의 동일한 실시간 약속을 유지합니다 .
캐시 된 결과는 샤드가 새로 고쳐질 때마다 자동으로 무효화되지만 샤드의 데이터가 실제로 변경된 경우에만 무효화됩니다. 즉, 캐시되지 않은 검색 요청과 동일한 결과를 항상 캐시에서 얻습니다.
새로 고침 간격이 길수록 캐시 된 항목의 유효 기간이 길어집니다. 캐시가 가득 차면 가장 최근에 사용한 캐시 키가 제거됩니다.
clear-cacheAPI를 사용하여 캐시를 수동으로 만료 할 수 있습니다 .
캐싱 활성화 및 비활성화
캐시는 기본적으로 활성화되어 있지만 다음과 같이 새 인덱스를 생성 할 때 비활성화 할 수 있습니다.
PUT / my-index-000001 { "settings" : { "index.requests.cache.enable" : false } }
요청 당 캐싱 활성화 및 비활성화
request_cache쿼리 문자열 매개 변수를 사용하거나 사용에 캐시를 사용하지 않도록 설정하는 데 사용할 수있는 당 요청 으로. 설정된 경우 인덱스 수준 설정을 재정의합니다.
캐시 키
전체 JSON 본문이 캐시 키로 사용됩니다. 즉, JSON이 변경되면 (예 : 키가 다른 순서로 출력되는 경우) 캐시 키가 인식되지 않습니다.
대부분의 JSON 라이브러리 는 JSON 키가 항상 동일한 순서로 생성되도록 하는 표준 모드를 지원합니다 . 이 표준 모드는 요청이 항상 동일한 방식으로 직렬화되도록 애플리케이션에서 사용할 수 있습니다.
캐시 설정
캐시는 노드 레벨에서 관리되며 1% 힙 의 기본 최대 크기를 갖습니다 . 다음을 사용하여 config/elasticsearch.yml파일 에서 변경할 수 있습니다 .
indices.requests.cache. 크기 : 2 %
'기술_Elasticsearch' 카테고리의 다른 글
O3fs (Hadoop 호환) (0) | 2022.08.10 |
---|---|
전송 (0) | 2022.06.25 |
노드 쿼리 캐시 설정 (0) | 2022.06.25 |
콜드 데이터 노드 (0) | 2022.06.25 |
투표 전용 마스터 적격 노드 (0) | 2022.06.25 |