✅ 페이지네이션 (Pagination) 서버의 과부하를 방지하기 위해 데이터 조회 시 필수적으로 적용해야 하는 기능이 페이지네이션(Pagination)이다. Elasticsearch에서 페이지네이션(Pagination)을 활용해 데이터 조회하는 방법을
심플하게 만들기 위해 Service Layer 없이 Controller만 생성해서 CRUD API를 만들 것이다. ✅ 사용자 생성 API 만들기 Controller 틀 만들기 Request DTO 만들기 Controller 완성하기 Postman으로
✅ Nori Analyzer를 활용해 한글(korean)이 제대로 검색되게 만들기 기존 컨테이너 종료하기 파일 작성하기 컨테이너 띄우기 Analyze API 활용해 디버깅해보기 인덱스 생성하기 데이터 삽입하기 검색해보기 Nori analyzer를 활용
✅ 동의어로 검색하는 방법 (synonym) Samaung Notebook이라는 상품이 있다고 가정하자. 사람들은 검색할 때 notebook이라고 정확하게 검색할 수도 있지만, 노트북, 랩탑, 휴대용 컴퓨터, laptop과 같이 동의어로 검색할 수도
✅ 검색 시 필요없는 HTML 태그 제거하기 대부분의 게시글 서비스는 굵게, 기울임, 링크 등을 포함해서 작성할 수 있게 되어 있다. 그러려면 HTML 태그를 포함해서 그대로 DB에 저장해야 하는 경우가 많다. 이렇게 HTML 태그가 포함된 형태의 글
✅ Elasticsearch 설치하기 OS 환경과 상관없이 간편하고 일관되게 설치하기 위해 Docker를 활용하자. ** 아래 과정은 Docker가 설치되어 있다는 전제 하에서 진행한다. compose.yml 파일 작성 compose 실행 잘 실행됐
✅ bool 쿼리의 should는 언제 어떻게 쓰일까? bool 쿼리에서 must와 filter는 반드시 조건을 만족하는 데이터만 조회되지만, should는 조건을 만족하지 않는 데이터도 조회되기도 한다. 다만, should의 조건을 충족시키는 데이터
✅ 검색할 때 필요없는 불용어(a, an, the, or, but 등) 제거하기 (stop) 영어로 작성된 게시글을 보면 검색어로 잘 사용하지 않는 a, an, the, or과 같은 불용어(= 의미없는 단어)가 많이 포함되어 있다. 역인덱스의 효율적인
✅ 단어의 형태(-ed, -ing, -s, -er 등)에 상관없이 검색하는 방법 영어 단어를 보면 play, playing, played, player 등 다양한 형태로 사용된다. 검색을 할 때 단어의 형태에 상관없이 검색이 가능하다면 훨씬 편하게 원
✅ 애널라이저(Analyzer)란? 이전 강의에서 products의 name 필드값을 토큰(token)으로 분리해 역인덱스(Inverted Index)로 저장하는 과정을 살펴봤다. 이 과정에서 문자열(text)을 토큰으로 변환시켜주는 장치를 보고 애널