일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- elasticsearch
- IntelliJ
- php
- Git
- db
- javascript
- Design Patterns
- 맛집
- ReactJS
- Spring Boot
- Web Server
- Spring
- AWS
- Spring Batch
- tool
- MySQL
- java
- jsp
- redis
- Oracle
- jenkins
- devops
- laravel
- it
- Gradle
- springboot
- JVM
- 요리
- linux
- ubuntu
Archives
- Today
- Total
아무거나
타입 매핑 방법 본문
반응형
[elasticsearch]
타입 매핑 관련..
일반적으로 elasticsearch는 오토매핑이라 넘어오는 데이터순으로 필드들이 생성되어진다.
그럴경우에 데이터 형태가 맞지않는 경우
예를들어 1 or 2 등의 데이터를 string값으로 인식하여 내려주는경우. 즉, 이 값을 int값으로 사용하고 싶을 떄 타입매핑을 사용한다.(데이터 형식을 정해줌.)
보통 인덱스 최초생성때 타입매핑을 해준다.
그 이유는 인덱스별로 alias를 사용하는경우 alias가 변경될때마다 계속 인덱스를 생성하므로 직접 타입매핑 api를 날려도 소용이없는 상황이 생기기 때문이다.
또한 이런 의문이 생길수도있다.
"난 데이터형식에 대한 정의가 명시적인게 좋다" 이럴 경우에 최초에 생성하면되는데 속도가 매우 느려진다고 한다. --> 자세한건 찾아보자
임의적으로 추가하는 명령어는
curl -XPUT 'localhost:9200/ws_products/product/_mapping' -H 'Content-Type: application/json' -d '{ "product": { "properties": { "product_type": { "type": "long" } } } }' // product_type 타입 매핑 추가
인덱스 생성시 추가하는 명령어는
"settings": {
.....
"mappings": {
"product": {
"properties": {
"registerd_time": {
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis",
"type": "date"
},
"click": {
"type": "float"
},
"click_update_time": {
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis",
"type": "date"
},
"title": {
"analyzer": "arirang_custom",
"type": "text"
},
"click_registerd_time": {
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis",
"type": "date"
}
,
"product_type": {
"type": "integer"
},
"storePid": {
"type": "text"
}
}
}
}
}
반응형
'Data Store > Elastic Stack' 카테고리의 다른 글
Elasticsearch 성능 최적화 관련 (0) | 2020.05.25 |
---|---|
[logstash] db에서 es로 데이터 전송 (0) | 2019.05.28 |
검색쿼리 요청시 count(size) 10000이 넘을 경우 에러 (0) | 2019.05.27 |
AWS S3를 활용한 ELK 스택 로그 백업 및 복원 (0) | 2019.05.24 |
[qurator] 큐레이터 (0) | 2019.05.23 |
Comments