ElasticSearch - Index 편

ElasticSearch - Index 편

ElasticSearch - Index 편

모든 문서는 6.5.0 버전 기준으로 작성 되었습니다.

1. Index 만들기

1
$ curl -XPUT http://localhost:9200/twitter

1.1. Index 이름 규칙

  • 소문자만 사용 가능
  • \, /, *, ?, ", <, >, |, (space character), ,, # 사용 불가
  • 7.0 이전 버전에서는 :을 사용할 수 있지만 그 이후 버전에서는 사용 불가
  • -, _, +로 시작할 수 없음
  • . 또는 .. 으로 지을 수 없음
  • 255 바이트 보다 길게 지을 수 없음 (한글 같은 경우는 한 글자에 1 바이트 보다 크므로 지을 수 있는 글자 수는 더 적음)

1.2. Setting과 함께 Index 만들기

1
2
3
4
5
6
7
8
9
10
$ curl -XPUT http://localhost:9200/twitter -H "Content-Type:application/json" -d '
{
"settings" : {
"index" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}
}
'

다음도 가능합니다.

1
2
3
4
5
6
{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 2
}
}
  • number_of_shards의 기본값은 5입니다.
  • number_of_replicas의 기본값은 1입니다. (각 primary shard 당 1개의 복사본)

1.3. Mapping과 함께 Index 만들기

1
2
3
4
5
6
7
8
9
10
11
$ curl -XPUT http://localhost:9200/test -H "Content-Type:application/json" -d '
{
"mappings" : {
"_doc" : {
"properties" : {
"field1" : { "type" : "text" }
}
}
}
}
'

1.4. 별명 (Aliase)과 함께 Index 만들기

1
2
3
4
5
6
7
8
9
10
11
12
13
$ curl -XPUT http://localhost:9200/test -H "Content-Type:application/json" -d '
{
"aliases" : {
"alias_1" : {},
"alias_2" : {
"filter" : {
"term" : {"user" : "kimchy" }
},
"routing" : "kimchy"
}
}
}
'

위의 Setting, Mapping, Aliase는 동시에 설정 할 수 있습니다.

Author

Hyunsub Kim

Posted on

2019-04-13

Licensed under

댓글