• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

인덱스에 들어가는 필드 갯수에 대해서 질문

23.06.14 18:22 작성 조회수 211

0

인덱스 템플릿을 생성하고 rollover를 적용 시켜 100기가 넘을때마다 logs-2023.06.13, logs-2023.06.14 이렇게 새롭게 인덱스가 생성되고 있습니다. logs-2023.06.13에 필드가 1000개가 넘었다는 에러가 발생하여 'Limit of total fields [1000] has been exce..'

필드 정리했습니다. 그럼 es에서 따로 작업 없이 다음 인덱스부터(ex. logs-2023.06.14) 필드 개수가 다시 카운트 되는것인거죠??

es에서 따로 작업하지 않고 그 앞단에서 필드를 줄였는데 줄인 다음 적용되는 새로운 인덱스에서도 동일한 에러가 발생하고있어서 질문드립니다.

답변 1

답변을 작성해보세요.

1

필드 개수는 인덱스 별로 독립적으로 카운팅 됩니다. 필드를 정리 했다는 의미는 문서 자체에서 필드를 없앴다는 의미 이신거죠? 동적 매핑을 사용할 경우 text 타입으로 정의되는 필드들은 자동으로 keyword 필드가 추가 됩니다. 그래서 문서에 존재하는 문자열 필드가 500개 라면 동적 매핑을 사용하게 될 경우 생성되는 필드가 1,000개가 됩니다. 이 부분을 확인하셔서 정적 매핑이 가능한 필드들은 정적 매핑을 통해서 불필요한 추가 필드가 생성되지 않도록 하시면 될 것 같습니다.

김수민님의 프로필

김수민

질문자

2023.06.14

네 필드 정리는 elasticsearch로 들어가는 로그의 필드를 정리했다는 의미입니다.

아 저는 필드가 하도 많아서 우선 동적 매핑으로 다 적용시키고있었습니다..

정적 매핑으로 다시 정리해서 다음 인덱스 생성때 확인해봐야겠네요 감사합니다!