From bf3735b399de19a2a43d73668cd632dd5356cd1d Mon Sep 17 00:00:00 2001 From: "wusub.shin@softcamp.co.kr" Date: Fri, 19 Apr 2024 09:16:31 +0900 Subject: [PATCH] =?UTF-8?q?=EC=97=98=EB=9D=BC=EC=8A=A4=ED=8B=B1=20?= =?UTF-8?q?=ED=8F=AC=EC=8A=A4=ED=8C=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...lets-look-at-the-caches-used-in-elasticsearch.mdx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pages/elasticsearch/lets-look-at-the-caches-used-in-elasticsearch.mdx b/pages/elasticsearch/lets-look-at-the-caches-used-in-elasticsearch.mdx index 1548b5e..0649c90 100644 --- a/pages/elasticsearch/lets-look-at-the-caches-used-in-elasticsearch.mdx +++ b/pages/elasticsearch/lets-look-at-the-caches-used-in-elasticsearch.mdx @@ -280,17 +280,17 @@ GET logs-*/_search ## 필드 데이터 캐시 (Field Data Cache) -`text field에 대해서 집계, 정렬 시 필드 데이터를 전부 캐싱한다` +`집계, 정렬 시 필드 데이터를 전부 캐싱한다` 검색은 `"어떤 문서가 이 키워드를 포함하는지가 궁금"` 하지만 집계와 정렬은 `"이 문서에서 이 field의 값이 무엇인지"` 가 궁금하기 때문에 역인덱스 정보가 아닌 docmuent를 key로 value에 field 정보를 담은 데이터 구조가 필요하다. -즉 역인덱스가 아닌 일반적인 인덱스(RDB의 그것) 방식이 필요하다 이를 `FieldData` 라고 하는데, -이를 캐싱해놓는게 `필드 데이터 캐시`다 +즉 역인덱스가 아닌 일반적인 인덱스(RDB의 그것) 방식이 필요하다 이를 `fielddata` 라고 한다. -`text field` 의 경우 `FieldData` 를 사용하는데 무지막지하게 `메모리`를 쓰기 때문에 `기본값은 false(비활성)다` -`keyword field` 의 경우는 `doc_values` 를 사용하는데 이는 `디스크` 를 사용한 방식이 때문에 안정적입니다. +특이점으로는 `text field`를 캐싱하게되면 상당히 많은 메모리를 사용하기 때문에 `text field`는 기본적으로 비활성이다. - **집계 쿼리 및 정렬에 사용되는 필드 데이터를 모두 캐시한다** -- **Text Field 에 한정되며 기본값은 false다** +- **Text Field의 기본값은 false다** +- **일단 메모리에 올리고나서 메모리가 부족할 경우 공간을 확보하기 때문에 OOM 이 발생할 수 있다** +- **캐시중 가장 많은 메모리를 소모한다**