•
프로젝트 설명
◦
목적
▪
기존 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라던지, 쿼리 순서 등에 있어서 전반적으로 이해가 부족해 애를 먹었다. 하지만 내가 누구냐 구글링으로 해외를 뒤져서 해결했다.
•
느낀점
◦
오로지 Back만 신경쓸 수 있어서 좋았던 프로젝트였다.
◦
꽤나 오래잡고 진행했던터라 많은걸 배울수 있었다고 생각하고 애정이가는 프로젝트였다.
◦
nosql에 대해 개념이 얼핏잡혀있던터라 고생을 많이했지만 그만큼 많이 친해질 수 있었던 프로젝트였다.