(ElasticSearch) 원래의 내용을 저장하는 _source
_source는 원본 도큐먼트를 저장할지 또는 그렇지 않을지를 true 또는 false로 지정할 수 있다.
기본값은 true인데 대부분의 경우 그대로 사용하는 것이 좋다.
왜냐하면 변경 API를 이용한다던지 하이라이트 (Highlighting)구현 역시 _source가필요하다
기본값은 true인데 대부분의 경우 그대로 사용하는 것이 좋다.
왜냐하면 변경 API를 이용한다던지 하이라이트 (Highlighting)구현 역시 _source가필요하다
원본 도큐먼트의 특정 필드만 반환하기
GET get-together/_doc/1?pretty?fields=name
fields파라미터로 제공할 수 있다.
_source를 저장할 떄, 엘라스틱 서치는 여기에서 필수 필드를 가져온다.
Store옵션을 yes로 설정한 개별필드만 저장할 수 있다.
예를들어 name필드만 저장하려면 매핑은 다음과 같다.
_source전제를 조회해서 특정 필드를 추출하는 것보다 단일 저장 필드를 조회하는 것이 더 빠르므로, 특히 큰 도큐먼트를 갖고 있을 때, 엘라스틱서치에게 특정 필드만 요청하는 것이 더 유용할 수 있다.
* _source의 기능을 false할 시 문제점
- update, update_by_query그리고 reindex API를 사용할 수 없다.
- highlighting 기능을 사용할 수 없음
- reindex및 mapping, analysis 바꾸기 불가, major버전으로 인덱스 업그레이드 불가
- 쿼리 또는 aggregation의 디버그 불가
만약 디스크 공간이 문제라면 _source를 false하기 보다는 compression level을 고려해보자
댓글
댓글 쓰기