elasticsearch-1

2018-10-11
old-posts

Elasticsearch 기본 명령어(?) 정리

elasticsearch는 rest api를 지원하기 때문에 명령어가 맞는 표현인지는 모르겠다.
여튼 linux command 중 하나인 curl을 이용해서 간단히 명령어를 정리해 보려고 한다.
참고로, 설치가 되었다는 가정하에 정리해본 내용이다. (설치 과정은 검색해보면 많이 나온다.)

목차

  1. elasticsearch 설치 및 구동 여부 확인
  2. index 생성
  3. index 리스트 확인
  4. index 삭제
  5. index mapping

elasticsearch 설치 및 구동 여부 확인

명령어

1
curl -XGET 'localhost:9200'

결과

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"name" : "lovekmg-server",
"cluster_name" : "es-demo",
"cluster_uuid" : "W-sw01R7RMqtBzXsdhT89g",
"version" : {
"number" : "6.4.0",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "595516e",
"build_date" : "2018-08-17T23:18:47.308994Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum\_wire\_compatibility_version" : "5.6.0",
"minimum\_index\_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}

index 생성

명령어

1
curl -XPUT 'localhost:9200/test_index?pretty'

결과

1
2
3
4
5
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "test_index"
}

index 리스트 확인

명령어

1
curl -XGET 'localhost:9200/_cat/indices?v'

결과

1
2
3
health status index                           uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green open .monitoring-kibana-6-2018.10.10 va_9eCNTT2mmrir106tc3A 1 0 6867 0 1.7mb 1.7mb
yellow open my\_index LbvkBxj\_Rfa6KjMDz75I8w 5 1 2 0 6.4kb 6.4kb

index 삭제

명령어

1
curl -XDELETE 'localhost:9200/test_index?pretty'

결과

1
2
3
{
"acknowledged" : true
}

index mapping

  1. index 생성시 지정
    명령어
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    # 6.x부터인가 get 외에는 header 추가해줘야함
    curl -XPUT -H 'content-type:application/json' 'localhost:9200/index\_create\_text_1' -d '{
    "mappings" : {
    "board" : {
    "properties" : {
    "board_id" : {
    "type" : "integer"
    },
    "subject" : {
    "type" : "text",
    "fields" : {
    "keyword" : {
    "type" : "keyword",
    "ignore_above" : 256
    }
    }
    },
    "content" : {
    "type" : "text",
    "fields" : {
    "keyword" : {
    "type" : "keyword",
    "ignore_above" : 256
    }
    }
    },
    "created_at" : {
    "type" : "date",
    "format" : "yyyy-MM-dd HH:mm:ss"
    }
    }
    }
    }
    }'

결과

1
2
3
4
5
{
"acknowledged":true,
"shards_acknowledged":true,
"index":"index\_create\_text_1"
}
  1. index 만 생성 후 mappings 추가
    명령어
1
2
# index 생성
curl -XPUT -H 'content-type:application/json' 'localhost:9200/index\_create\_text_2?pretty'

결과

1
2
3
4
5
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "index\_create\_text_2"
}

명령어

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# index 생성 후 mappings 추가
curl -XPUT -H 'content-type:application/json' 'localhost:9200/index\_create\_text\_2/\_mapping/board?pretty' -d '{
"properties" : {
"board_id" : {
"type" : "integer"
},
"subject" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"content" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"created_at" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss"
}
}
}'

결과

1
2
3
{
"acknowledged" : true
}