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