[ Spring Boot ] Elasticsearch 검색 기능 구현 ( 3 )
·
Spring Boot
추천 검색 기능 및 검색 고도화 기본적인것들은 전부 정상적으로 동작하는걸 봤다.엘라스틱 서치를 사용하면서 해보었던 추천 검색어 기능을 해볼건데 네이버네 구글처럼 사용자가 잘못된 명칭이나 오타로 입력해도원래 의도한 검색어를 찾아서 제안해주는 기능을 만들거다 검색기능을 만들 때 ElasticsearchRepository를 사용해 간단하게 구현하는 방법과 고급검색기능(자동완성, 추천 검색어, 집계 등)을 구현할때는 ElasticsearchClient를 사용하는 방법이있다. 나는 후자로 진행 ElasticsearchClient 란 무엇인가?ElasticsearchRepository를 이용해서 기본적인 CURD나 쿼리메서드 기반 검색은 가능하지만 자동완성 같은 고급 기능은 Repository 만으로는 한계가있다...
[ Spring Boot ] Elasticsearch 검색 기능 구현 ( 2 )
·
Spring Boot
Elasticsearch를 활용한 검색 기능 구현1. 의존성 추가springboot에서는 의존성으로 엘라스틱 서치를 쉽게 연동할 수 있다.jpa처럼 엘라스틱서치repository를 구현해 데이터를 저장하고 다룰 수 있게 해주는 라이브러리이다. implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch' 2. Elasticsearch 연결을 위한 Config 설정적용을 하고나면 간단한 기본 세팅을 해줘야한다package com.onnongwa.back_end.domain.config;import org.springframework.beans.factory.annotation.Value;import org.springfram..
[ Spring Boot ] Elasticsearch 검색 기능 구현 ( 1 )
·
Spring Boot
docker-compose.yml 작성elasticsearch을 도커 환경에서 동작 시킬거기 때문에 compose 파일을 하나 작성해준다. version: '3.8'services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.6.0 container_name: elasticsearch environment: - discovery.type=single-node - xpack.security.enabled=false ports: - "9200:9200" - "9300:9300" volumes: - esdata:/usr/share/elasticsearch/..
Elasticsearch 엘라스틱 서치란?
·
BackEnd
개요여러번의 프로젝트를 거치면서 검색기능을 자주 만들었는데 매번 조회에서 QueryDSL을 통한 검색만 구현해왔었다.Mysql, PostgreSQL같은 데이터 베이스를 사용해 검색을 하게되면 정형 데이터 검색에는 강하다. 하지만 특정 텍스트속의 단어를 찾는 경우에는 성능이 확실히 느리다고 느껴졌다. 예를 들어 이전에 진행한 티켓팅 프로젝트 takeSeat에서 공연 설명에 "감동" 이 들어간 공연을 검색하려하면 엄청나게 많은 데이터에서 SQL이 "LIKE %감동%" 연산을 통해 하나부터 끝까지 전체 조회를 하게되므로 성능이 좋지못하다. 이러한 문제를 해결할 수 있는게 엘라스틱 서치라고 지인에게 들어서 공부해보고 적용해보려한다. 엘라스틱 서치는 왜 특정 텍스트 속의 단어를 빠르게 찾는가?엘라스틱 서치는 왜 ..