Elasticsearch (ELK)/Elasticsearch
8-1. Settings & Mappings - Settings
Velody
2020. 5. 29. 09:31
실제 Settings의 설정 값은 대부분 "Settings" -> "Index" 아래에 들어가 있으나
Settings에 입력을 할때 Index를 넣어도 생략해도 된다(아니면 . 을 이용해도 된다).
// Basic
PUT my_index
{
"settings": {
"index": {
"number_of_shards": 3,
"number_of_replicas": 1
}
}
}
// my_index 인덱스 생성 - 마침표 . 으로 하위 값 지정
PUT my_index
{
"settings": {
"index.number_of_shards": 3,
"index.number_of_replicas": 1
}
}
// my_index 인덱스 생성 - index 생략
PUT my_index
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
}
}
number_of_shards : 생성되면 변경 불가능하다(새로 지정해야 된다면 새로 인덱스를 정의하고 재색인해야 된다).
number_of_replicas : 생성 후 변경 가능
// my_index 인덱스의 number_of_replicas 값 변경
PUT my_index/_settings
{
"number_of_replicas": 2
}
refresh_interval : 세그먼트가 만들어지는 리프레시 타임을 설정 (Default : 1s)
Analyzer, Tokenizer, Filter (Analysis) : 자세한 내용은 Chapter 7을 참고하자.
추가적으로 생성된 Analysis를 변경 하는것은 불가능하다. 변경을 하기 위해서는 해당 인덱스를 Close처리하고 추가해줘야 한다.
// 기본 생성
PUT my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"type": "custom",
"char_flter": [ "...", "..." ... ]
"tokenizer": "...",
"filter": [ "...", "..." ... ]
}
},
"char_filter":{
"my_char_filter":{
"type": "…"
...
}
}
"tokenizer": {
"my_tokenizer":{
"type": "…"
...
}
},
"filter": {
"my_token_filter": {
"type": "…"
...
}
}
}
}
}
// Close하고 Analysis 재설정 후 Open
POST /twitter/_close
PUT /twitter/_settings
{
"analysis" : {
"analyzer":{
"content":{
"type":"custom",
"tokenizer":"whitespace"
}
}
}
}
POST /twitter/_open