📌 REST API
- RESTFul 하지 않은 시스템에서의 데이터 처리 예시
ㅇ 입력 : http://user.com/input.jsp?name=kim&age=38&gender=m
ㅇ 조회 : http://user.com/get.jsp?name=kim
ㅇ 삭제 : http://user.com/delete.jsp?name=kim
※ REST API를 지원하는 시스템은 kim 이라는 사용자에 대해 항상 단일 URL로 접근을 하고 PUT, GET, DELETE 같은 http 메서드로 데이터를 처리합니다
- RESTFul 한 시스템에서의 데이터 처리 예시
ㅇ 입력 : PUT http://user.com/kim -d {"name":"kim", "age":38, "gender":"m"}
ㅇ 조회 : GET http://user.com/kim
ㅇ 삭제 : DELETE http://user.com/kim
📌 유닉스 curl
- MacOS, 리눅스와 같은 유닉스 기반 운영체제에서는 curl 명령어로 간편하게 REST API 사용 가능
- curl 명령로 elasticsearch 클러스터의 최상위 경로를 호출하면 아래처럼 출력됨
(클러스터의 상태 정보인 노드명, 클러스터명, Elasticsearch 버전, 루씬 버전 등이 json 형식으로 리턴됩니다. )
📌 Kibana Dev Tools
- Kibana에는 Elasticsearch 에서 REST API를 간편하게 실행할 수 있는 Dev Tools 라는 도구를 제공함.
📌 CRUD - 입력, 조회, 수정, 삭제
- 도큐먼트 접근 URL "http://<호스트>:<포트>/<인덱스>/_doc/<도큐먼트 id>"
- 6.x 이전 까지는 "http://<호스트>:<포트>/<인덱스>/<도큐먼트 타입>/<도큐먼트 id>" 로 사용했음
- 입력 (PUT + _doc) : 덮어쓰기
- 입력 (PUT + _create) : 신규입력만 허용
캡쳐 생략
- 조회 (GET)
- 삭제 (DELETE) : 도큐먼트 삭제
- 삭제 (DELETE) : 인덱스 삭제
- 수정 (POST + _doc)
ㅇ PUT 메서드와 유사하게 데이터 입력도 가능
ㅇ POST 메서드로 <인덱스>/_doc 까지만 입력하게 되면, 자동으로 임의의 도큐먼트id 가 생성됨
※ 도큐먼트id의 자동 생성은 PUT 메서드로는 동작하지 않음
- 수정 (POST + _update) : 필드가 여럿 있는 도큐먼트에서 특정 필드만 내용 업데이트
📌 참고자료
- Elastic 가이드 북 링크 : 4.2 CRUD - 입력, 조회, 수정, 삭제
- 이전 게시글 : [Elastic Search] 1. 개념 간단히 이해하기
- 다음 게시글 : [Elastic Search] 3. 벌크 API - _bulk API
'IT > Elasticsearch' 카테고리의 다른 글
[Elasticsearch] 회사 내부 첨부파일의 내용을 통합 검색할 수 있다면? (feat. Fasoo DRM, Tika, Confluence) (0) | 2024.07.05 |
---|---|
[Elasticsearch] 벡터서치 구현시 텍스트 데이터 벡터화 방법 고민 (0) | 2024.07.03 |
[Elasticsearch] 4. 검색 API - _search API (2) | 2023.12.05 |
[Elasticsearch] 3. 벌크 API - _bulk API (0) | 2023.11.30 |
[Elasticsearch] 1. 개념 간단히 이해하기 (2) | 2023.11.27 |