-
엘라스틱서치 _source 정리카테고리 없음 2024. 2. 12. 23:12
reindex : 원본 인덱스에서 내용을 대상 인덱스에 새로 색인하는 작업
_source
- 문서 색인 시점에 엘라스틱서치에 전달된 원본 JSON 문서를 저장하는 메타데이터 필드
- _source 필드 자체는 역색인을 생성하지 않기 때문에 검색 대상이 되지 않는다.
- PUT 인덱스이름 { "mappings": { "_source":{ "enabled": false } } } 명령으로 데이터를 저장하지 않을 수 있다.
- 비활성화 한 경우 -> 권장되지 않음
- update_by_query api를 이용할 수 없다.
- reindex api를 사용할 수 없다.
- _source 관련 설정은 운영에 영향이 매우 크므로 심사숙고하여 판단해야 한다.
디스크 공간을 절약해야만 하는 경우
- 인덱스 코덱 변경하여 디스크 공간을 확보할 수 있다.
- default -> best_compression
sythetic source
- 엘라스틱서치 8.4버전부터 지원
- 모든 필드의 doc_values 여야하며, doc_values를 모아 _source를 재조립한다.
- 재조립된 _source는 원본 JSON과 다를 수 있다.
- 인덱스의 크기를 많이 줄여준다.
- _source를 조회할 필요가 거의 없는 작업을 위주로 수행한다면 디스크 공간과 성능 향상을 기대할 수 있다.
- reindex 가능
index properties index
- 기본값 true
- false로 변경할 시 해당 필드를 통해 검색할 수 없다.
- 검색에 필요없는 필드는 false로 바꿔 디스크 공간을 확보할 수 있다.
- index: true인 다른 필드를 통해 검색한 경우 _source 필드를 통해 확인할 수 있다.
index properties enabled
- object 타입 필드에만 적용된다.
- false 값으로 변경할 시
- _source 외 어느 곳에서도 저장되지 않는다.
- 정렬, 집계의 대상도 될 수 없다.
- 어떠한 체크도 수행하지 않는다.
- 역색인을 생성하지 않아 검색이 불가능하다.
- 데이터 타입이 다른 요소를 갖는 배열 데이터를 저장할 수 있다.
- 역색인, doc_values, 파싱 등을 수행하지 않기 때문에 성능상 이득을 볼 수 있다.
- _source에서만 확인하면 되는 필드만 false로 지정하는 것을 고려할 수 있다.