✅ Elasticsearch 작동 방식 MySQL과 소통하려면 SQL문이라는 방식으로 통신해야 한다. 이와 비슷하게 Elasticsearch와 소통하려면 REST API라는 방식으로 통신해야 한다. 통신 방식은 제작사에서 편리하다고 생각하는 방식을 자
✅ Spring Boot에서 인덱스에 맞게 Document 정의하기 Spring Data JPA에서 DB의 테이블에 맞게 Entity를 작성하는 것처럼, Spring Data Elasticsearch에서 인덱스에 맞게 Document를 작성해야 한다.
✅ 검색한 키워드를 하이라이팅 처리하고 싶을 때 (highlight) 구글이나 쿠팡에서 검색을 해보면 검색한 키워드가 하이라이팅 처리가 되있는 걸 확인할 수 있다. 이 기능을 구현해보자. ✅ 실습 이전 강의에 셋팅해놓은 환경을 그대로 사용하자. 검색하
✅ 2가지 이상의 조건을 만족시키는 데이터를 조회하고 싶을 때 (bool : filter, must) 이전 강의에서 아래와 같이 쿼리를 했을 때 에러가 발생하는 걸 확인했다. GET /boards/_search { "query": { "te
✅ AWS OpenSearch vs Elastic Cloud AWS OpenSearch와 Elastic Cloud의 차이를 알기 위해 OpenSearch의 역사에 대해 먼저 알아보자. Elasticsearch를 개발한 회사에서 Elasticsearch
✅ filter와 must 구분해서 사용하기 [사전 셋팅] // 기존 인덱스 삭제 DELETE /boards // 인덱스 생성 PUT /boards { "mappings": { "properties": { "board_id":
프로젝트 레포지토리의 final 브랜치에 프로젝트 완성본을 올려뒀다. 강의의 실습을 똑같이 따라했는데도 잘 작동하지 않았다면, 아래 코드와 비교해서 잘못 작성한 부분이 있는 지 체크해보자.
✅ Spring Boot에서 Elasticsearch 활용해 자동완성 API 만들기 Controller에 API 추가하기 Service에 의존성 추가하기 Service에 메서드 만들고 로직 추가하기 Postman으로 테스트를 위한 더미 데이터 넣기 P
✅ 매핑(mapping)이란? 매핑(mapping)이란 도큐먼트(document)의 각 필드가 어떤 데이터 타입을 가지고 있는 지 정의하는 설정을 의미한다. MySQL에서 테이블을 만들 때 어떤 유형의 데이터를 넣을 지 스키마(schema)를 정의하는
✅ 도큐먼트 저장 id를 자동으로 생성해서 저장 id를 직접 지정해서 저장 id를 직접 지정해서 저장 (이미 id가 존재한다면 데이터 덮어씌움) = UPSERT ✅ 도큐먼트 조회 (특정 인덱스의) 모든 도큐먼트 조회 id로 특정 도큐먼트 조회 이 외에