✅ 기존 프로젝트 구조 살펴보기 Product 엔티티 API 구성 아키텍처 특징 의존성 다음 강의에서는 기존 프로젝트 구조에서 검색 기능과 자동 완성 기능을 도입하기 위해 아키텍처를 어떻게 구성해야 하는 지 고민해보자.
✅ Spring Boot에서 인덱스에 맞게 Document 정의하기 Spring Data JPA에서 DB의 테이블에 맞게 Entity를 작성하는 것처럼, Spring Data Elasticsearch에서 인덱스에 맞게 Document를 작성해야 한다.
✅ AWS OpenSearch vs Elastic Cloud AWS OpenSearch와 Elastic Cloud의 차이를 알기 위해 OpenSearch의 역사에 대해 먼저 알아보자. Elasticsearch를 개발한 회사에서 Elasticsearch
프로젝트 레포지토리의 final 브랜치에 프로젝트 완성본을 올려뒀다. 강의의 실습을 똑같이 따라했는데도 잘 작동하지 않았다면, 아래 코드와 비교해서 잘못 작성한 부분이 있는 지 체크해보자.
✅ Spring Boot에서 Elasticsearch 활용해 자동완성 API 만들기 Controller에 API 추가하기 Service에 의존성 추가하기 Service에 메서드 만들고 로직 추가하기 Postman으로 테스트를 위한 더미 데이터 넣기 P
✅ 요구사항 반영하기 대소문자 구분없이 검색할 수 있게 만들기 단어의 순서에 상관없이 검색 잘 되게 만들기 HTML 태그로 검색되지 않게 만들기 요구사항을 잘 반영했는 지 테스트해보기
✅ 인프라 아키텍처 설계하기 MySQL과 Elasticsearch의 장단점은 명확하다. MySQL은 트랜잭션을 기반으로 데이터의 정합성을 보존해주는 게 큰 장점이다. 반면에 Elasticsearch는 빠른 검색에 최적화 되어 있다. 현업에서는 이 2가
✅ Spring Boot에 검색 API 만들기 Controller에 API 추가하기 Service에 메서드 추가하기 깔끔한 테스트를 위해 기존 데이터 삭제하기 Postman으로 테스트를 위한 더미 데이터 집어넣기 테스트해보기 지금까지 구현하고자 한 자
✅ Spring Boot에 Elasitc Cloud의 Elasticsearch 연결하기 Spring Boot에 Elastic Cloud의 Elasicsearch를 연결하기 위해서는 주소(Endpoint), username, password 이 3가지를
✅ MySQL에 데이터 삽입/삭제 시 Elasticsearch에도 같이 반영되게 만들기 이전 강의에서 설계했던 인프라 아키텍처에 맞게 작동하도록 만들어보자. ProductDocumentRepository 의존성 추가 상품 등록 로직 수정하기 상품 삭제