[ES] CRUD basic

지수·2021년 10월 30일
0

플레이데이터

목록 보기
47/50
post-thumbnail

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

1. Create (POST)

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

1) _doc

  • _doc + id 값 지정
구분
indexhello_index
id1
fieldname, age

  • _doc + id 값 랜덤 부여 (비추)
구분
indexhello_index
id랜덤 부여 (예: b45BtnwBbOzkj0mz5YTI)
id로 검색하기 어렵기 때문에 비추
fieldname, age

  • 이미 존재하는 id 값 부여하여 POST 할 경우


2) _create

  • _create + id 값 지정
    _create필수적으로 id 값을 지정해주어야 함
    랜덤으로 id 값 부여 받을 수 없음


3) _bulk

  • 여러 개의 document를 한 번에 저장
  • index 명과 id 값을 기준으로 document 저장
구분
indexemployees
저장하는 document 개수3개
id1, 2, 3
fieldfirstName, lastName



2. Read (GET)

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

1) 해당 index 정보 조회



2) id 값으로 조회





3) query로 검색




3. Update (POST / PUT)

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

1) POST로 수정

  • POST 로 create 할 때와 동일한 방법
  • 해당 index로 저장된 document가 있을 때는 수정 / 없을 때는 생성




2) PUT으로 수정

  • PUT 은 수정을 위한 http 메서드
  • 저장되지 않은 index 값으로 PUT 요청할 경우 에러



4. Delete (DELETE)

  • index 삭제
profile
사부작 사부작

0개의 댓글