![[ElasticSearch] 작동 방식 및 Kibana](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvZRiV%2FbtsOj2hzci3%2FHZ7b592bztpp27Kve2NCk0%2Fimg.png)
[ElasticSearch] 작동 방식 및 KibanaBack-End/ElasticSearch2025. 5. 30. 14:04
Table of Contents
이 글은 인프런의 지식 공유자 박재성님의 강의를 듣고 개인적으로 정리하는 글임을 알립니다.
ElasticSearch 작동 방식
MySQL과 소통하려면 SQL문이라는 방식으로 통신해야 한다.
이와 비슷하게 Elasticsearch와 소통하려면 REST API 방식으로 통신해야 한다.
아래는 MySQL과 Elasticsearch의 명령어 차이를 보여준다.
데이터 삽입
MySQL
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com'); |
ElasticSearch
curl -X POST "localhost:9200/users/_doc" -H 'Content-Type: application/json' -d' { "name": "Alice", "email": "alice@example.com" }' |
데이터 조회
MySQL
SELECT * FROM users; |
ElasticSearch
curl -X GET "localhost:9200/users/_search" -H 'Content-Type: application/json' -d' { "query": { "match_all": {} } }' |
Kibana
매번 cURL이나 Postman으로 요청을 보내기가 불편한 편이라서, 조금 더 편리하게 조작할 수 있는 GUI 툴이 존재한다.
대표적인 GUI 툴이 Kibana이다.
Kibana, Elasticsearch 설치 및 실행
compose.yml
services: elastic: image: docker.elastic.co/elasticsearch/elasticsearch:8.17.4 # 8.17.4 버전 ports: - 9200:9200 # 9200번 포트에서 Elasticsearch 실행 environment: # 아래 설정은 개발/테스트 환경에서 간단하게 테스트하기 위한 옵션 (운영 환경에서는 설정하면 안 됨) - discovery.type=single-node # 단일 노드 - xpack.security.enabled=false # 보안 설정 - xpack.security.http.ssl.enabled=false # 보안 설정 kibana: image: docker.elastic.co/kibana/kibana:8.17.4 # 8.17.4 버전 ports: - 5601:5601 # 5601번 포트에서 kibana 실행 environment: - ELASTICSEARCH_HOSTS=http://elastic:9200 # kibana가 통신할 Elasticsearch 주소 알려주기 |
# compose.yml 파일이 존재하는 경로에서 아래 명령어를 실행시켜야 함
docker compose up -d # -d : 백그라운드에서 실행
Kibana는 5601번 포트에서 실행되므로 브라우저에서 http://localhost:5601로 접속하고
아래와 같은 화면이 뜬다면 잘 실행된 것이다.
Kibana로 Elasticsearch 조작하기
- Kibana에서는 http://localhost:9200 부분은 쓰지 않고 훨씬 간단하게 입력해서 요청을 보낼 수 있다.
- 요청을 보내면 오른쪽 화면에서 Elasitcsearch가 응답한 결과값을 보여준다.
'Back-End > ElasticSearch' 카테고리의 다른 글
[ElasticSearch] 데이터 타입(data type)과 매핑(mapping) (0) | 2025.05.31 |
---|---|
[ElasticSearch] 애널라이저(Analyzer) (0) | 2025.05.31 |
[ElasticSearch] 역인덱스(Inverted Index) (0) | 2025.05.31 |
[ElasticSearch] 인덱스, 도큐먼트, 매핑, 필드 (0) | 2025.05.30 |
[ElasticSearch] 기본 개념 및 설치 방법 (0) | 2025.05.30 |