Search
Duplicate
🔍

elastic-search

상태
완료 🙌
기술스택
Elasticsearch
작업기간
2021/12/15 → 2022/06/15

프로젝트 설명

목적

기존 DB query 기반의 Like 검색보다 nosql 기반의 ElasticSearch를 사용한 검색 속도 개선
LIKE %{query}% 형태의 검색보다 형태소 분석기를 사용한 검색 키워드 형태소 분해 후 검색을 통한 검색 성능 향상

구현하고자 했던 기능

검색
자동완성
오타정정

기술스택

ELK Stack 7.16.2
Maria DB
AWS EC2

KPT

Keep

자동완성, 오타정정 기능 구현에 있어서 elasticsearch-jaso-analyzer github를 참고했더니 좋았다
초기 프로젝트 세팅 시에 한국 Elastic사의 김종민 Evangelist 님의 가이드북과 블로그를 참고했더니 좋았다.
특히나 서버 사양 등을 토대로 JVM들의 힙 메모리를 할당하는 등, 서버를 설계할땐 facebook community가 굉장히 큰 도움이 되었다.
중, 후반 검색 쿼리문 구성 및 작성에 있어서는 역시 구글링이 최고였다.
기본 검색기능 구현에 있어서 match, match_phrase 등의 다른 함수들보다 multimatch를 사용했던게 가장 효율적이었다.

Problem / Try

초기에 LogStash로 DB data를 긁어올때 connection issue
mysql connector 파일을 다운받을 때, 다운받은 파일과 서버의 운영체제가 달라 생긴 이슈였다.
호환성 표를 확인해 다시 다운받아 설치하니 잘 돌아갔다.
AWS EC2 인스턴스 종료가 뭔지 모르고 날려먹은 것
삭제되자마자 식겁해서 1시간만에 생성, 서버 세팅 및 구축 다시했다..
종료가 인스턴스를 아예 날려버린다는 뜻이구나..
검색 쿼리 작성
SearchTemaplate을 만들기 위해 Request Body를 작성할 때, field라던지, 쿼리 순서 등에 있어서 전반적으로 이해가 부족해 애를 먹었다.

느낀점

꽤나 오래잡고 진행했던터라 많은걸 배울수 있었다고 생각하고 애정이가는 프로젝트였다.
nosql에 대해 개념이 부족해 고생을 많이했지만 그만큼 많이 친해질 수 있었던 프로젝트였다.