4.1 REST API
이 문서의 허가되지 않은 무단 복제나 배포 및 출판을 금지합니다. 본 문서의 내용 및 도표 등을 인용하고자 하는 경우 출처를 명시하고 김종민(kimjmin@gmail.com)에게 사용 내용을 알려주시기 바랍니다.
Elasticsearch는 http 프로토콜로 접근이 가능한 REST API를 지원합니다. 자원별로 고유 URL로 접근이 가능하며 http 메서드 PUT, POST, GET, DELETE 를 이용해서 자원을 처리합니다. 이런 특성을 가진 시스템을 보통 RESTFul 한 시스템이라고 말합니다.
REST API가 익숙치 않은 분들을 위해 간단한 비교 설명을 드리면 다음과 같습니다. 사용자 정보를 다루는 user.com 이라는 시스템이 있다고 가정하고 name=kim, age=38, gender=m 이라는 사용자 정보를 처리한다고 해 보겠습니다. REST를 지원하지 않는 시스템에서는 보통 다음과 같이 각 가능에 대한 개별 페이지로 접근하거나 명령을 매개변수로 처리합니다.
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 사용이 가능합니다. Elasticsearch를 실행한 뒤 curl 명령을 이용해서 elasticsearch 클러스터의 최상위 경로를 호출하며 다음과 같이 클러스터의 상태 정보가 json 형식으로 리턴됩니다.
리턴된 결과는 노드명, 클러스터명, Elasticsearch 버전, 루씬 버전 등의 정보들을 담고 있습니다.
Kibana Dev Tools
Elasticsearch와 Kibana가 서로 다른 호스트에서 실행되고 있거나 통신 포트가 9200이 아니면 Kibana 홈 config 디렉토리 아래에 있는 kibana.yml
파일에서 elasticsearch.url: "http://localhost:9200"
옵션을 설정하면 됩니다. 기본적으로 Kibana는 5601 포트에서 실행이 되며 변경하고 싶으면 server.port: 5601
을 변경하고 싶은 포트 값으로 설정합니다.
Last updated
Was this helpful?