-
Notifications
You must be signed in to change notification settings - Fork 0
Elastic Search
jaeseok.an edited this page Aug 6, 2020
·
12 revisions
- mapping 없을 때 동작
- string type이면 모든 field가 term/keyword 두 개 생성. keyword는 256이상이면 truncate
- number type은 long
- Text type
- 형태소 분석용이므로, aggregation 이나 정렬이 불가능
- Keyword type
- ignore_above 256 이면 256을 넘는 경우 empty로 저장되므로 조심할것
- Aggregation
- query의 결과 size와 관계없이 query 전체에 대해 aggregation은 동작함
- query 한 결과에 대해 수행 하거나 query가 없으면 전체 문서에 수행
- Query Debugging
POST movie/_validate/query?rewrite=true { "query" : {...} }
-
rollup
- index 변경량 보기
GET _cat/indices/myinde,rollup?v
-
새로운 index생성시 mapping을 template으로 부터 적용
- 다음은 nginx-access-log 라는 템플릿을 생성하는 것으로, 인덱스가 nginx-access-* 에 해당하는 패턴이라면, 지정된 mapping 으로 인덱스를 생성한다.
템플릿 생성하기 다음은 nginx-access-log 라는 템플릿을 생성하는 것으로, 인덱스가 nginx-access-* 에 해당하는 패턴이라면, 지정된 mapping 으로 인덱스를 생성한다. ## nginx-access-log 템플릿 생성 curl -X "PUT" "http://my-elasticsearch-server-host:9200/_template/nginx-access-log" \ -H 'Content-Type: application/json; charset=utf-8' \ -d $'{ "index_patterns": [ "nginx-access-*" ], "mappings": { "log": { // type name "properties": { "ip": { "type": "text" }, "host": { "type": "keyword" }, "uri": { "type": "text" }, "datetime": { "type": "date" }, "@timestamp": { "type": "date" } } } ........ } }'
-
생성
- curl -XPUT 'localhost:9200/customer?pretty
-
index 리스트
- curl -XGET 'localhost:9200/_cat/indices?v'
-
insert 1 document
-
curl -XPOST 'localhost:9200/customer2/info/1?pretty' -H 'Content-Type: application/json' -d '{ "name": "victolee" }'
-
-
모든 index의 size보는 방법
- GET _cat/indices/everjs-2018*,everjs_rollup_idx?v
- elasticsearch
sudo docker run -d --restart="always" --name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-u 1000 \
-e "discovery.type=single-node" \
-e "bootstrap.memory_lock=true" --ulimit memlock=-1:-1 \
-v `pwd`/data:/usr/share/elasticsearch/data \
-v `pwd`/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v `pwd`/jvm.options:/usr/share/elasticsearch/config/jvm.options \
docker.elastic.co/elasticsearch/elasticsearch:6.7.0
# kibana
sudo docker run -d --restart="always" --name kibana \
-p 5601:5601 \
-e SERVER_NAME=aergo-kibana \
--link elasticsearch:elasticsearch \
-e ELASTICSEARCH_hosts=http://localhost:9200 \
docker.elastic.co/kibana/kibana:6.7.0
# --network=aergo-horde \
test