KernelEngine - 성장하고 싶은 개발자를 위한 블로그 검색 서비스
프로젝트 소개 :: https://github.com/Kernel360/E2E1-KernelEngine
개발 공부를 할 때, 개발 블로그를 많이 참고하게 됩니다. 하지만 내가 원하는 내용이 아니거나, 평소 즐겨 찾는 블로그에 새 글이 올라왔을 때 즉시 확인하지 못함에 있어 저희 팀은 불편함을 느꼈습니다. 이에 착안하여, 가입한 유저의 블로그 게시글과 관리자가 등록한 기술 블로그의 게시글을 키워드를 통해서 검색할 수 있는 검색 서비스를 목표로 제작하였습니다.
기술 스택
기여도
회고
또한 크롤링 기능은 주기적으로 실행되어야 하고, 실패하였을 때의 재시도 처리 등이 용이하여야 하였기 때문에 Spring batch 와 접목하여 batch job을 통해 크롤링이 실행되도록 변경하였습니다.
블로그 피드 검색결과를 분석하다 보니 MySQL의 Like 검색은 속도가 느리고 큰 연관성이 없는 결과까지도 반환함을 알게 되었습니다. 예를 들면 "네이버"를 검색하였는데 전혀 연관이 없는 글인데도 불구하고 글 마지막에 '네이버 개발자 000 에게 감사를 드립니다' 등의 문구 때문에 검색결과에 포함되어 나오는 식이었죠.
이번엔 Fulltext 검색 대신 Elasticsearch를 도입하여 1000개 피드에 대하여 검색 성능을 비교하였습니다.