Elasticsearch

    엘라스틱서치 인덱스 Mapping 과 Properties 정리

    엘라스틱서치에서 인덱스는 RDB의 테이블과 비슷한 역할을 한다. 또한 엘라스틱서치는 기본적으로 스키마리스이나, 실제 운용하는데 있어서는 mapping을 통해 스키마를 정의 하여 사용한다. 인덱스 추가 및 스키마 정의를 위해 인덱스 API 및 매핑API 를 사용 한다. 인덱스 추가 PUT /movie { "settings": { "number_of_shards": 3, "number_of_replicas": 2 }, "mappings": { "properties": { "movieCd": {"type": "integer"}, "movieNm": {"type": "text"}, "movieNmEn": {"type": "text"}, "prdtYear": {"type": "integer"}, "openDt":..

    엘라스틱서치 인덱스 Settings

    인덱스 세팅 조회 //모든 인덱스 의 세팅 조회 GET _all/_settings //my-index의 세팅 조회 GET my-index/_settings //와일드 카드 매칭을 이용해 세팅 조회 GET log-2023-*/_settings 인덱스 생성 PUT my-index { "aliases": {} "mappings": {} "settings": {} } 인덱스 세팅 수정 PUT /my-index/_settings { "index": { "number_of_shards": 2, "number_of_replicas": 1, } } Settings 인덱스의 샤드 개수 및 레플리카 개수 등 인덱스를 설정할때 사용한다. analyzer, tokenizer, filter와 같은 정보 설정시 에도 Settin..

    Elasticsearch Index Template

    인덱스 템플릿 인덱스를 생성할 때 특정 네이밍 규칙에 따라 인덱스 설정을 자동으로 적용하고 싶은 경우에 사용한다. wildcard를 이용해 인덱스가 생성될 때 자동으로 적용할 수 있다. PUT _template/my_index_template { "index_patterns": ["test*", "person-*"], "settings": { "number_of_shards": 1 }, "aliases": { "my_alias": {}, "my_alias2": { "filter": { "term": {"user.id": "kimchy"} }, "routing": "shard-1 }, "{index}-alias": {} }, "mappings": { } } index_patterns: 템플릿이 적용 될 인..

    엘라스틱 서치 노드의 종류

    마스터 노드 노드의 추가 및 삭제를 담당한다. 인덱스 생성, 수정, 삭제, 메타데이터를 관리한다. 샤드를 할당 및 상태정보를 관리한다. 클러스터 상태를 관리한다. 마스터 노드는 다른 노드들을 관장하고 클러스터를 구성하는 노드들의 상태를 정기적으로 점검 한다. 마스터 노드는 동시에 단 한개만 작동 가능하고, 후보 노드를 지정하여 장애시 대응할 수 있다. #conf/elasticsearch.yml node.master: true node.master: true인 경우 마스터 후보노드 설정이 되고, 마스터 노드 선출 정책에 따라 마스터노드로 정해진다. 데이터 노드 물리적인 데이터를 실제로 가지고 있는 노드이다. 마스터 노드로 부터 요청을 받아서 CRUD작업, 검색 및 집계 같은 데이터 관련 작업을 수행하고,..