프로젝트 설명
목적
•
기존 DB query 기반의 Like 검색보다 nosql 기반의 ElasticSearch를 사용한 검색 속도 개선
•
LIKE %{query}% 형태의 검색보다 형태소 분석기를 사용한 검색 키워드 형태소 분해 후 검색을 통한 검색 성능 향상
구현하고자 했던 기능
•
검색
•
자동완성
•
오타정정
기술스택
•
ELK Stack 7.16.2
•
Maria DB
•
AWS EC2
KPT
Keep
•
•
초기 프로젝트 세팅 시에 한국 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에 대해 개념이 부족해 고생을 많이했지만 그만큼 많이 친해질 수 있었던 프로젝트였다.