블로그 글
박재성 선생님이 개발 블로그에 쓴 글입니다.
특정 조건을 만족하는 데이터 위주로 상위 노출 시키고 싶을 때 (bool : should)
✅ bool 쿼리의 should는 언제 어떻게 쓰일까? bool 쿼리에서 must와 filter는 반드시 조건을 만족하는 데이터만 조회되지만, should는 조건을 만족하지 않는 데이터도 조회되기도 한다. 다만, should의 조건을 충족시키는 데이터

Elasticsearch 설치하기
✅ Elasticsearch 설치하기 OS 환경과 상관없이 간편하고 일관되게 설치하기 위해 Docker를 활용하자. ** 아래 과정은 Docker가 설치되어 있다는 전제 하에서 진행한다. compose.yml 파일 작성 compose 실행 잘 실행됐
[실습] 검색할 때 필요없는 HTML 태그 제거하기 (html_strip)
✅ 검색 시 필요없는 HTML 태그 제거하기 대부분의 게시글 서비스는 굵게, 기울임, 링크 등을 포함해서 작성할 수 있게 되어 있다. 그러려면 HTML 태그를 포함해서 그대로 DB에 저장해야 하는 경우가 많다. 이렇게 HTML 태그가 포함된 형태의 글
[실습] 동의어로 검색하는 방법 (synonym)
✅ 동의어로 검색하는 방법 (synonym) Samaung Notebook이라는 상품이 있다고 가정하자. 사람들은 검색할 때 notebook이라고 정확하게 검색할 수도 있지만, 노트북, 랩탑, 휴대용 컴퓨터, laptop과 같이 동의어로 검색할 수도
[실습] Nori Analyzer를 활용해 한글(korean)이 제대로 검색되게 만들기
✅ Nori Analyzer를 활용해 한글(korean)이 제대로 검색되게 만들기 기존 컨테이너 종료하기 파일 작성하기 컨테이너 띄우기 Analyze API 활용해 디버깅해보기 인덱스 생성하기 데이터 삽입하기 검색해보기 Nori analyzer를 활용
![[실습] Elasticsearch를 활용해 CRUD API 만들기](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80cc-9182-f830dcb29a7e-456a77b5fd6d6663.webp&w=3840&q=75)
[실습] Elasticsearch를 활용해 CRUD API 만들기
심플하게 만들기 위해 Service Layer 없이 Controller만 생성해서 CRUD API를 만들 것이다. ✅ 사용자 생성 API 만들기 Controller 틀 만들기 Request DTO 만들기 Controller 완성하기 Postman으로
페이지네이션 (Pagination), 정렬(Sorting)
✅ 페이지네이션 (Pagination) 서버의 과부하를 방지하기 위해 데이터 조회 시 필수적으로 적용해야 하는 기능이 페이지네이션(Pagination)이다. Elasticsearch에서 페이지네이션(Pagination)을 활용해 데이터 조회하는 방법을
하나의 필드에 text와 keyword 타입을 동시에 사용하고 싶을 때 (Multi Field)
✅ 하나의 필드에 text와 keyword 타입을 동시에 사용하고 싶을 때 (Multi Field) 이전 강의(Untitled)에서 데이터 타입을 설명할 때 text는 유연한 검색이 필요할 때 사용한다고 얘기했다. 반면에 keyword는 정확한 검색이
검색 키워드가 포함된 데이터를 조회하고 싶을 때 (match)
✅ 검색 키워드가 포함된 데이터를 조회하고 싶을 때 (match) match 쿼리는 검색 키워드가 포함된 모든 도큐먼트를 조회한다. 이전 강의에서 역인덱스(Inverted Index)와 애널라이저(Analyzer)를 설명하면서 작동 원리까지 설명했었다
매핑(mapping)의 특이한 특징 (null 허용, Array 허용)
✅ null 허용 (기본적으로 필수로 값을 넣을 필요가 없음) Elasticsearch는 매핑을 정의하더라도 해당 필드가 반드시 존재하거나 null이면 안 된다는 제약을 두지 않는다. 다음과 같은 매핑(mapping)을 설정했다고 치자. "mappin
[실습] Elasitcsearch의 검색 기능 테스트해보기
✅ Elasitcsearch의 검색 기능 테스트해보기 인덱스 생성하기 매핑 정의하기 도큐먼트 삽입 도큐먼트가 잘 저장됐는지 확인하기 도큐먼트 검색해보기 단어의 순서를 바꿔서 검색해보기 다음 강의에서는 어떻게 Elasticsearch가 단어의 순서를 바
인덱스 생성하기 / 매핑 정의하기 / 도큐먼트 삽입하기
✅ 인덱스(index) 생성, 조회 및 삭제 Elasticsearch에서 인덱스(index)를 생성하는 건 MySQL에서 테이블(table)을 생성하는 것과 같다. 인덱스 생성 및 조회 # 인덱스 생성 # PUT /{인덱스명} PUT /users #