Elasticsearch02_(CRUD)

2024. 12. 27. 22:36ELK가_뭐지/Elasticsearch

엘라스틱서치 CRUD

클러스터 탐색

REST API 사용 (노드와 통신하는 방법으로)

  • 엘라스틱서치는 클러스터와 상호 작용하는데 사용할 수 있는 REST API를 제공
  • API로 수행 할 수 있는 작업
    • 클러스터, 노드 및 색인 상태, 상태 및 통계 확인
    • 클러스터, 노드 및 색인 데이터 및 메타 데이터 관리
    • CRUD 및 인덱스에 대한 검색 작업 수행
    • 페이징, 정렬, 필터링, 스크립팅, 집계 및 기타 여러 고급 검색 작업 실행

클러스터 상태

GET /_cat/nodes?v (v : 상세히)

  • 클러스터가 어떻게 진행되고 있는지 기본적인 확인
  • curl사용, HTTP/REST 호출을 수행할 수 있는 모든 도구 사용가능.
  • 클러스터 상태를 확인하기 위해 _cat API사용
    • 녹색 - 클러스터가 잘 작동
    • 노란색 - 모든 데이터를 사용할수 있지만 일부 복제본은 아직 할당되지 않음(클러스터는 작동함)
    • 빨간색 - 어떤 이유로든 일부 데이터 사용 불가(클러스터가 부분적으로 작동함)
  • _update, _search 등 사용가능

데이터베이스가 가진 데이터 확인하기

GET/_cat/indices?v

  • 모든 인덱스 항목 조회
  • index는 일반 RDB에서 DB역할

HTTP메서드 CRUD SQL
GET Read Select
PUT Update Update
POST Create Insert
DELETE Delete Delete

엘라스틱서치 데이터 구조

  • index, type, document의 단위를 가짐
  • document : 데이터가 저장되는 최소 단위
  • 여러 개의 document == Type 1개
  • 여러 개의 Type == Index 1개

RDB와 비교

RDB Elasticsearch
DB Index
Table Type
row Document
col Field
schema Mapping

CRUD 사용예시

기능 메서드 구문
입력 PUT http://localhost:9200/index1/type1/1 -d '{"num":1, "name":"Ava"}'
조회 GET http://localhost:9200/index1/type1/1
삭제 DELETE http://localhost:9200/index1/type1/1
업데이트 POST http://localhost:9200/index1/type1/1/_update -d '{doc: {"age":20}}'