인덱스 템플릿
인덱스를 생성할 때 특정 네이밍 규칙에 따라 인덱스 설정을 자동으로 적용하고 싶은 경우에 사용한다. 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: 템플릿이 적용 될 인덱스 패턴 와일드카드 문자- aliases: 해당 템플릿이 적용되는 인덱스가 생성될 때, 자동으로 적용되는 alias를 정의한다. {index} placeholder 부분에는 실제 인덱스 명이 매핑 된다. (alias object)
- settings: 템플릿으로 생성되는 인덱스에 자동으로 적용되는 index.settings 오브젝트
- mappings: 해당 템플릿이 적용되는 인덱스가 생성되는 경우 적용 될 mapping 오브젝트를 입력한다.
Alias object
{
"filter": ,
"index_routing": ,
"is_hidden": ,
"is_write_index": ,
"routing": ,
"search_routing": ,
}
- filter: queryDsl 오브젝트 이다. 해당 앨리어스가 접근 가능 한 도큐먼트 조건을 정의 한다.
- index_routing: 앨리어스를 통해서 데이터 인덱싱을 할때, 어떤 샤드에 입력될 지 지정한다. 스트링을 입력받으며, es의 라우팅 알고리즘에 의해 샤드가 지정된다.
- is_hidden: 앨리어스 숨김 처리 여부
- is_write_index: 앨리어스로 인덱싱 할 때, 앨리어스에 지정된 인덱스가 여러개인 경우, 어떤 인덱스로 인덱싱 할 것인지 지정 한다. true인 인덱스는 단 하나여야 한다.
- search_routing: 앨리어스를 통해서 데이터 검색을 할때, 어떤 샤드에서 검색될 지 지정한다. 스트링을 입력받으며, es의 라우팅 알고리즘에 의해 샤드가 지정된다.
'Elasticsearch' 카테고리의 다른 글
엘라스틱서치 인덱스 Mapping 과 Properties 정리 (0) | 2023.11.14 |
---|---|
엘라스틱서치 인덱스 Settings (4) | 2023.11.11 |
엘라스틱 서치 노드의 종류 (0) | 2023.10.30 |