[ES] CRUD basic

Corini·2022년 4월 29일
0

ES

목록 보기
2/8

https://velog.velcdn.com/images/geesuee/post/b7f9825a-c419-41f9-b51e-73ace68df429/%EC%8D%B8%EB%84%A4%EC%9D%BC_elasticsearch.png

Elasticsearch index(≒DB)에 type(≒table) CRUD

1. Create (POST)

  • POST : index에 type 생성 및 데이터 저장 (없으면 생성, 있으면 갱신)
  • id(≒PK) 지정해주거나 랜덤으로 부여받거나
  • /_doc/_create

1) _doc

  • _doc + id 값 지정 https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F9f126468-c570-4317-928f-5715ddde69ef%2Fimage.png

Untitled


  • _doc + id 값 랜덤 부여 (비추) https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F85b51c2a-9c61-4d28-9baf-06ac91489ae5%2Fimage.png

Untitled


  • 이미 존재하는 id 값 부여하여 POST 할 경우 https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2Fcce5ca89-f290-4f62-b01d-8fbab9a4abda%2Fimage.png

2) _create

  • _create + id 값 지정_create 는 필수적으로 id 값을 지정해주어야 함랜덤으로 id 값 부여 받을 수 없음 https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F38757c92-b2a3-491e-af85-8a90d54eb3db%2Fimage.png

3) _bulk

  • 여러 개의 document를 한 번에 저장
  • index 명과 id 값을 기준으로 document 저장 https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2Fad0cd6d8-b3a8-4039-87ca-0504520804ac%2Fimage.png

Untitled


2. Read (GET)

  • GET : document 조회 및 검색
  • 해당 index 정보 조회하거나(settings, mapping)id 값으로 조회하거나query로 특정 document 검색하거나
  • /_doc/_search(search API)

1) 해당 index 정보 조회

https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F4a6eba62-3f55-4c17-990d-efc37ab0536c%2Fimage.png

2) id 값으로 조회

https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F03a371d9-13d0-4cb0-9a80-364668abc870%2Fimage.png

3) query로 검색

https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F11634e35-4145-4e93-9f5a-063c1069e3b1%2Fimage.png


3. Update (POST / PUT)

  • 이미 존재하는 id 값의 document 내용 수정
  • POST : _doc + id 값 부여 시 이미 있는 값이면 갱신 / _create 로는 수정 불가
  • PUT : _doc + id 값 부여 시 이미 있는 값이면 갱신 / _create 로는 수정 불가
  • HTTP 메서드 상 POST는 전체 갱신, PUT은 부분 갱신이지만 ES에서는 둘 다 전체 갱신

1) POST로 수정

  • POST 로 create 할 때와 동일한 방법
  • 해당 index로 저장된 document가 있을 때는 수정 / 없을 때는 생성 https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F2634cf24-33ae-4f75-8733-dc4416fd073f%2Fimage.png

2) PUT으로 수정

  • PUT 은 수정을 위한 http 메서드
  • 저장되지 않은 index 값으로 PUT 요청할 경우 에러 https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F0082836c-a427-4d9a-ab62-2ee9ef6cbd87%2Fimage.png

4. Delete (DELETE)

  • index 삭제 https://velog.velcdn.com/images%2Fgeesuee%2Fpost%2F2a99f770-d911-4b0c-8305-bd9a18a94643%2Fimage.png
profile
Coding is playing!

0개의 댓글