반응형

데이터 제어하기

엘라스틱서치에 데이터를 넣고 조회해보기 전에 저장 구조를 먼저 파악해야합니다.

기존의 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값을 확인 할 수 있습니다.

반응형