
MySQL과 소통하려면 SQL문이라는 방식으로 통신해야 한다. 이와 비슷하게 Elasticsearch와 소통하려면 REST API라는 방식으로 통신해야 한다. 통신 방식은 제작사에서 편리하다고 생각하는 방식을 자기네들이 판단해서 정한다.
[예시]
데이터 삽입
MySQL
INSERT INTO users (name, email) VALUES ('Alice', '[email protected]');
Elasticsearch
curl -X POST "localhost:9200/users/_doc" -H 'Content-Type: application/json' -d'
{
"name": "Alice",
"email": "[email protected]"
}'
데이터 조회
MySQL
SELECT * FROM users;
Elasticsearch
curl -X GET "localhost:9200/users/_search" -H 'Content-Type: application/json' -d'
{
"query": {
"match_all": {}
}
}'

MySQL을 사용할 때 위와 같이 매번 CLI로 SQL문을 입력하기가 불편하다. 그리고 조회된 데이터를 알아보는 것도 쉽지 않다. 그래서 MySQL Workbench, Dbeaver, Datagrip과 같은 GUI 툴을 많이 활용한다.


Elasticsearch도 매번 cURL이나 Postman으로 요청을 보내기가 불편한 편이라서, 조금 더 편리하게 조작할 수 있는 GUI 툴이 존재한다. 대표적인 GUI 툴이 Kibana이다.

<aside> 👨🏻🏫
다음 강의에서는 Kibana를 활용해 Elasticsearch를 조작해보자.
</aside>