ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엘라스틱서치 _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로 지정하는 것을 고려할 수 있다.

     

Designed by Tistory.