실습 자료는 아래에서 받을 수 있습니다.
https://github.com/minsuk-heo/BigData/blob/master/ch02/classesRating_mapping.json
https://github.com/minsuk-heo/BigData/blob/master/ch02/classes.json
키바나를 더 잘 활용하기 위해 data의 타입을 명시해주는 것이 필요하다.
classes index를 새로 만들어주고 시작하자
기존에 classes index를 만들어 놓은 것이 있다면 지우고 다시 실습해보자.
curl -XPUT "http://localhost:9200/classes"
만들어진 인덱스를 조회해보자
curl -XGET "http://localhost:9200/classes"?pretty
아래와 같이 mapping이 존재하지 않는 것을 확인할 수 있다.
우리는 mapping이라는 것을 통해 본문에 들어가는 컬럼의 값들이 어떤 타입인지 명시하는 작업을 진행할 것이다.
curl
-H 'Content-Type:application/json'
-XPUT 'http://localhost:9200/classes/class/_mapping?include_type_name=true&pretty'
-d @classesRating_mapping.json
classRating_mapping.json 파일의 내용을 일부 수정해야 정상적으로 동작을 한다.
Elasticsearch 6.0 이상의 version에서는 String 이라는 type 대신 text라는 타입을 사용하기 때문에 string을 모두 text로 변경해주고 위 커맨드를 실행하면 정상적으로 동작을 한다.
https://stackoverflow.com/questions/47452770/no-handler-for-type-string-declared-on-field-name
curl -XGET "http://localhost:9200/classes"?pretty
아래와 같이 mapping 정보가 들어간 것을 확인할 수 있다.
'공부방 > Elasticsearch' 카테고리의 다른 글
elasticsearch - metric aggregation (0) | 2022.07.06 |
---|---|
elasticsearch - search (0) | 2022.07.06 |
elasticsearch - bulk (0) | 2022.07.06 |
elasticsearch - update (0) | 2022.07.06 |
elasticsearch - CRUD (0) | 2022.07.06 |