데이터 제어하기
엘라스틱서치에 데이터를 넣고 조회해보기 전에 저장 구조를 먼저 파악해야합니다.
기존의 RDB와는 용어가 조금 다릅니다.
브라우저에서 http를 통해 확인한것 처럼 http프로토콜을 통해 데이터를 삽입하거나 조회, 수정, 삭제 CRUD 작업을 할 수 있습니다. 사이트중에 http통신을 지원하는 사이트를 통해 진행하거나 크롬 확장앱인 Postman등을 사용하시면 되겠습니다. (물론 자바나 언어로 짜셔도 됩니다!)
먼저 포맷은 요청하는 아래처럼 맞춰주셔야 합니다.
http:// IP : port / Index / Type / id값
ex) http://localhost:9200/test/dog/1
데이터 삽입하기(PUT)
제가 키우고 있는 강아지의 정보를 넣어봤습니다.
PUT으로 전송을 하면 아래와 같이 생성 및 여러가지 정보를 응답 받을 수 있습니다.
result에는 created라고 값이 들어간 것을 볼 수 있습니다.
인덱스값으로 test가 입력되었습니다.
타입값으로 dog가 입력되었습니다.
한번 더 전송해보겠습니다.
값 추가하기(PUT)
이번에는 result에 updated라고 나오는것을 볼 수 있습니다. 맨끝은 id값인데 최초에 create되면서 추가된 ggome데이터가 삭제되고 gamja 데이터로 수정되었기 때문입니다.
이런 현상을 방지하기 위해 dog위치에 _create를 넣어서 전송하게 되면 에러코드를 반환하여 수정되는 것을 방지 할 수 있습니다.
데이터 조회(GET)
GET을 통해 도큐먼트의 내용을 가져옵니다.
GET http://localhost:9200/test/dog/1
GET http://localhost:9200/test/dog/2
삭제하기(DELETE)
DELETE 메서드를 통해 요청하면 됩니다.
도큐먼트나 인덱스 단위로 삭제가 가능합니다.
도큐먼트 삭제하기
DELETE http://localhost:9200/test/dog/1
먼저 id값이1이던 gamja 데이터를 삭제했습니다. 결과로 deleted를 받았습니다.
데이터 조회시 found속성에 false가 나오면서 찾을 수 없다는 결과를 받았습니다.
인덱스 전체 삭제하기
DELETE http://localhost:9200/test
acknowledged속성이 true값으로 전달 받고 이후에 조회시에는 found속성의 false값이 아닌 index자체를 찾을 수 없다는 결과와 함께 404에러코드를 받습니다.
수정하기(POST)
post는 PUT메서드와 같이 삽입하는 기능처럼 유사하게 동작하지만 id값을 자동으로 생성시킵니다.
PUT처럼 result속성에 created로 받았지만 id가 랜덤으로 들어간 것을 볼 수 있습니다.
_update
수정하는 방법은 아래와 같습니다.
인덱스/_update/id
해당 명령 형태를 통해 업데이트가 가능합니다. 해당 방법을 통해 수정시 변경할 필드명의 속성 값만 넣어주면 들어간 속성만 변경이 되며 지정자로 "doc"이 꼭 있어야합니다.
변경된 name값을 확인 할 수 있습니다.
'Databases > Elasticsearch' 카테고리의 다른 글
Elasticsearch - 풀 텍스트 쿼리(match, match_phrase, regexp) (0) | 2021.03.26 |
---|---|
Elasticsearch - REST API 데이터 조회하기(Query 정리) (0) | 2021.03.26 |
Elasticsearch - index 변경하기 (맵핑 정보 타입변경하기, resource_already_exists_exception) (0) | 2021.03.26 |
Docker를 통해 Elasticsearch, mongoDB, Monstache 환경 구성해보기(도커(엘라스틱서치+몽고DB+몬스태치)) (3) | 2021.03.05 |
Elasticsearch - 윈도우 설치하고 사용해보기 (0) | 2021.03.03 |