✅ 단어의 순서가 바뀌어도 검색이 가능하다 ?! MySQL의 products 테이블의 name 컬럼에 맥북 에어 13 M4라고 저장해놓고, 특정 키워드로 데이터를 검색하려면 아래와 같이 SQL문을 작성한다. SELECT * FROM products W
✅ 인프라 아키텍처 설계하기 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가지를
✅ 역인덱스(Inverted Index)란? 역인덱스(Inverted Index)는 필드 값을 단어마다 쪼개서 찾기 쉽게 정리해놓은 목록이다. 글로 이해하려면 어렵다. 예시를 바로 살펴보자. POST /products/_create/1 { "nam
✅ 숫자/날짜의 값에 대해 범위 조건으로 데이터를 조회하고 싶을 때 (range) bool의 should의 실습에서 range 쿼리를 사용하기 때문에 range 쿼리를 먼저 알아보자. 예시를 바로 보는 게 이해가 빠르기 때문에 예시를 바로 살펴보자.
✅ MySQL에 데이터 삽입/삭제 시 Elasticsearch에도 같이 반영되게 만들기 이전 강의에서 설계했던 인프라 아키텍처에 맞게 작동하도록 만들어보자. ProductDocumentRepository 의존성 추가 상품 등록 로직 수정하기 상품 삭제
✅ 특정 값과 정확하게 일치하는 데이터를 조회하고 싶을 때 (term) term 쿼리는 특정 값과 정확히 일치하는 모든 도큐먼트를 조회한다. term 쿼리는 text를 제외한 모든 타입에서 사용한다. (text 타입에서도 사용은 가능하나 의도대로 작동
✅ 기본값으로 설정되어 있는 애널라이저(Analyzer) Elasticsearch에서 제공하는 애널라이저로는 standard, simple, whitespace 등 다양한 종류가 있다. 그 중 기본값으로 설정되어 있는 애널라이저는 standard an
✅ Elasticsearch란? Elasticsearch의 의미를 인터넷에 검색해보면 아래와 같이 나온다. Elasticsearch는 오픈 소스 분산, RESTful 검색 및 분석 엔진, 확장 가능한 데이터 저장소 및 벡터 데이터베이스이다. - Ela