실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
elasticsearch-basic-concepts
✅ Elasticsearch의 기본 용어 정리
👨🏻🏫
MySQL과 Elasticsearch를 비교하면서 공부하면 Elasticsearch를 훨씬 빠르게 배울 수 있다.
MySQL은 데이터베이스이다.
데이터를 저장/조회/수정/삭제할 수 있다.
데이터를 저장하기 위해 가장 먼저 테이블(table)을 만든다.
테이블을 만들 때 어떤 유형의 데이터를 넣을 지 스키마(schema)를 정의한다.
테이블의 컬럼(column)에 맞게 데이터를 저장한다.
Elasitcsearch도 데이터베이스다.
Elasticsearch에 데이터를 저장/조회/수정/삭제할 수 있다.
데이터를 저장하기 위해 가장 먼저 인덱스(index)를 만든다.
인덱스를 만들 때 어떤 유형의 데이터를 넣을 지 매핑(mapping)을 정의한다.
테이블의 필드(field)에 맞게 데이터를 저장한다.
테이블(table) | 인덱스(index) |
컬럼(column) | 필드(field) |
레코드(record), 로우(row) | 도큐먼트(document) |
스키마(schema) | 매핑(mapping) |
참고) ‘MySQL에서의 인덱스(index)’와 ‘Elasticsearch의 인덱스(index)’는 완전 별개의 개념이니 구분해서 이해하도록 하자.
✅ Elasticsearch의 검색 기능을 빨리 배워서 써먹고 싶어요!
Elasticsearch는 검색에 최적화된 기능을 많이 가지고 있다.
- 검색어와 가장 관련성이 높은 순서대로 데이터를 조회하는 기능
이런 기능을 어떻게 구현하는 지가 제일 궁금하겠지만 이 기능들은 나중에 알아보자.
우선 Elasitcsearch의 가장 기본적인 기능인 CRUD(삽입/조회/수정/삭제) 기능을 먼저 알아보자.
그리고 Elasticsearch의 가장 기본적인 CRUD 기능을 활용해 Spring Boot 프로젝트를 만들어볼 것이다.
“최소한의 개념만 배운 뒤에 실전에서 연습해봐야 한다. 이렇게 배우면 정말 빨리 배운다.”
헬스를 처음 배울 때부터 50kg, 100kg와 같이 무거운 무게를 들면 다친다. 작은 무게부터 드는 걸 연습하고 차근차근 무게를 늘려나가야 한다.
👨🏻🏫
Elasticsearch를 활용해 CRUD 기능을 만들기 위해, 가장 먼저 인덱스(index) 만드는 방법과 매핑(mapping) 정의 방법, 도큐먼트(document) 삽입 방법을 알아보자.