Elasticsearch02_1_(CRUD실습)

2024. 12. 28. 16:49ELK가_뭐지/Elasticsearch

실습 환경(Kibana → Dev Tools)

GET _search
{
  "query": {
    "match_all": {}
  }
}

처음 들어가면 위 명령가 입력된 상태로 시작된다.
(인덱스에 저장된 모든 데이터 반환시키는 구문)


명령어 알아보기

  • get /_cat/health?v
    • 현재 엘라스틱서치의 상태를 확인
    • v : 헤더 행 추가(상세정보 추가)
  • put /customer?pretty
    • customer이라는 인덱스를 생성
    • pretty : 없어도 됨, 개행, 들여쓰기로 보기 편하게 함.
  • get _cat/indices?v
    • 모든 인덱스를 확인
  • post customer/type1/1
    {
      "name" : "taeho Park"
    }
    • 데이터 전체 업데이트 OR 생성
    • customer 인덱스의 type1에 1(document 기본키 개념, 문서ID라고함)에 name 필드의 값을 taeho Park으로 저장한다.
    • 엘라스틱서치 버전 6.x까지는 Type을 사용했지만 7.x부터는 사용X
      • type1 -> _doc 으로 변경해서 사용
  • DELETE customer/type1/1
    • customer 인덱스의 type1타입에 문서ID가 1인거 삭제
  • post  customer/type1/1/_update
    {
      "doc":{
        "age":123
      }
    }
    • 데이터의 일부 업데이트(수정)
    • customer 인덱스의 type1타입에 문서ID가 1인 데이터에 age 데이터 추가
    • 기존 데이터에 age필드가 없더라도, 오류가 발생하지 않고, 바로 데이터가 추가된다.

post Index/Type/DocumentIDpost Index/Type/DocumentID/_update 차이

  • post Index/Type/DocumentID
    • 데이터를 생성
    • 데이터를 수정할 때는 전체를 수정, 일부데이터 수정이 안됨.
  • post Index/Type/DocumentID/_update
    • 데이터 일부 수정
    • doc 아래에 업데이트할 필드와 값을 작성
    • 기존 문서에 해당 필드가 없으면 추가되고, 있으면 값을 덮어씌움