728x90 ElasticSearch & OpenSearch15 [ElasticSearch] _reindex 및 _forcemerge 기존 인덱스의 필드 매핑 타입을 수정하고 싶을 경우 어떻게 해야 할까? 1. _reindexElasticSearch에서 데이터를 다른 인덱스로 복사하거나 이동하는데 사용되는 API이다. 기능 및 특징기존 데이터를 새로운 인덱스에 복사할 수 있다. 데이터의 구조를 변경하거나 필드를 추가/삭제할 수 있다.새로운 매핑 설정을 가진 인덱스를 생성한 후, 데이터를 이전하는 데 주로 사용된다.데이터를 이동하면서 간단한 스크립트를 사용하여 필드 값을 변환할 수 있다. 주요 사용 사례매핑 변경기존 인덱스의 매핑을 수정할 수 없기 때문에 새로운 매핑으로 인덱스를 생성하고 `_reindex`를 사용해 데이터를 이동한다.데이터 정제 및 변환 `_reindex` 사용시 스크립트를 사용하여 데이터를 변환하거나 필드를 계산할 .. 2024. 12. 3. [검색서비스] 어쩌다보니 이세계 검색서비스 담당자 ElasticSearch 를 사용해본 경험이 있다는 것 하나로 어쩌다보니 검색 서비스 담당자가 되었다. 당시에 검색 관련해서 물어볼 사람이 없었기에 구축하는 과정에서 스트레스를 정말 많이 받았었는데, 혹시라도 나같은 사람이 있다면 조금이나마 도움이 되고자 글을 작성해본다. 검색서비스 구축 순서는 보통 아래와 같이 진행한다. 1. 검색엔진 세팅 -> 2. 인덱싱 프로세스 구축 -> 3. API 개발 1. 검색엔진 세팅 우리의 경우 AWS OpenSearch 를 사용했는데, ElasticSearch 와 마찬가지로 인덱스 별로 settings 와 mappings 정보를 세팅해줘야 한다. settings: tokenizer, analyzer 등과 관련된 정보 세팅 mappings: 인덱스 별로 필요한 필드명, .. 2024. 1. 19. [Kibana] User 생성 방법 1. Kibana Console 로그인 2. Menu > Management > [Stack Management] 클릭 3. Security > Users > [Create user] 클릭 4. User 정보 입력 1) Username: email 주소 입력 2) Password: 6자리 이상으로 설정(추후에 담당자에게 변경하라고 요청) 3) Privileges superuser: User 생성부터 모든 기능을 부과하기 위한 권한이다. viewer, kibana_admin, watcher_admin: 이정도의 권한이면 대시보드 추가 및 보기부터 왠만한건 다 할 수 있다. reporting_user: 대시보드 다운로드가 필요한 경우에는 해당 권한을 추가해줘야 한다. 2023. 12. 21. [OpenSearch] 수동 Snapshot AWS OpenSearch 의 경우 인스턴스 유형 별로 최대 스토리지가 정해져 있다. 로그 남기는 용도로 사용하고 있는 경우에는 그렇게 좋은 사양을 사용할 필요도 없고, 노드 수를 많이 만들 필요도 없다고 본다. 그러나 스토리지의 한도는 점점 다가오고, OpenSearch 는 Low Disk Space 알림을 내뱉기 시작할텐데... 과거 로그 쿨하게 삭제...⭐️ 를 하고 싶으나, 검색 로그의 경우 다양한 지표에서 쓰일 수 있기 때문에 쿨하게 삭제할 수도 없는 노릇이다. OpenSearch 의 경우 자동 스냅샷을 생성해주긴 하나 14일 동안만 보관하고 클러스터 복구 전용으로 다른 클러스터로 데이터 이동이 안된다. 그렇기 때문에 수동 스냅샷 생성하는 방법에 대해 알아보도록 하자. 사전 준비 1. S3 B.. 2023. 5. 16. [OpenSearch] index template (인덱스 템플릿) 인덱스 템플릿은 주로 설정이 동일한 복수의 인덱스를 만들 때 사용한다. 로그 인덱스를 만든다고 가정해 보자. 한개의 인덱스에 모든 로그 데이터를 넣어주면 어떻게 될까? 초반에 데이터가 적을때는 괜찮겠지만 결국 나중에는 폭-팔-⭐️ 할 것이라는걸 모두 알고 있기 때문에, 로그 인덱스의 경우 대부분 일별 혹은 월별로 인덱스를 생성해줄 것이다. curation-log-20230405, curation-log-20230406, curation-log-20230407, ... 로그의 경우 같은 사전을 사용하고 같은 tokenizer 및 analyzer 를 사용하며 색인하는 필드 역시 동일할 것이다. 그렇다면 일마다 동일한 settings 와 mappings 를 넣어 로그 인덱스를 생성해줘야 할까? 다행히 Ope.. 2023. 4. 6. [ElasticSearch] _cat API 를 이용한 ES 모니터링 E-커머스에서 검색은 아주 중요하다. 그렇기 때문에 ElasticSearch 의 상태를 모니터링하는 일 역시 중요한데, ES 에서 제공해주는 _cat API 를 이용하면 좀 더 쉽게 체크할 수 있다. _cat API 중에서도 자주 사용되는 것만 추려봤다. 1. 클러스터에 속한 노드들의 상태 확인 GET _cat/nodes ?v 옵션을 붙이면 해당 항목의 필드명 확인이 가능하다. GET _cat/nodes?v heap.percent: 사용중인 heap memory percentage ram.percent: 사용중인 memory percentage cpu: 사용중인 CPU percentage load_1m,5m,15m: 사용중인 load average 값 node.role: 노드의 role (m - mast.. 2022. 12. 19. 이전 1 2 3 다음 728x90 반응형