[TIL][codecamp] 프로젝트 11일차 회고

조혜인·2022년 9월 17일
0

팀 프로젝트

목록 보기
11/15

🫠 오늘 나의 상태

  • Elastic search를 하면서 logstash로 query문을 날려 데이터를 받는데, 대학교 이후로 query문을 다뤄본지가 오래되어 많이 기억을 못하려나 싶었지만 술술 잘 풀어나가는 나를 보며 아직 죽지않았숴!!!!!!를 외쳤다.

📚 오늘 한 일

API 구현

  • 이전에 배웠던 Elastic Search를 활용하여 게시판의 검색 기능을 만들기로 하였다. 백엔드 팀원이 검색 기능 담당인데, mapping시에 조금 어려움을 겪어 코드 작업을 도왔다. 사실 나의 API에만 집중하여 작업하다보니 이전에 Elastic search실습했던 것이 바로 떠오르지는 않아 처음에는 자신이 없었지만, 금방 다시 감을 잡았다!

    우리는 검색의 기준을 제목으로 잡아 setting과 mapping을 통해 제목을 토크나이징 해줘야했다. 현재 팀원은 logstash를 통해 가져온 데이터들을 모두 mapping에 적어줘야한다고 생각했는데, 가져온 값들과 연관된 테이블들도 join으로 표시해주어 데이터를 mapping해주려고 하였다. 그런데 생각해보면 logstash에서 query문으로 join한 테이블들의 데이터들을 가져와 토크나이징이 필요한 제목만 mapping을 통하여 지정해주면 나머지 데이터들은 그대로 가져와도 되는 구조였다. 따라서 내가 생각한 구조로 바꾸어 데이터들을 잘 가져올 수 있었다.

    데이터를 잘 가져왔다면, 우리에게 맞는 형태로 데이터를 가공하여 프론트엔드에 넘겨주어야한다. Elastic Search는 Entity구조와 상관없이 logstash에서 넘겨준 값들을 통째로 저장하기 때문에 가공을 해주어야했는데, 이전에 내가 사용했던 방법을 공유하였다. 현재 typeorm과 mysql DB를 이용하여 개발하고 있는데, create()라는 메소드가 있다. 어떠한 repository에 create()를 해주면, 해당 DB를 열어보지 않고 entity에 맞는 객체를 만들 수 있다. 이 create()를 활용하여 가지고 온 데이터들을 올바른 위치에 넣어주었더니 매우 보기 좋은 형태로 프론트엔드에 넘겨줄 수 있었다.(뿌듯 😎)

    Elastic Search와 잠시 멀어진지 조금(?) 되어 처음엔 긴장했지만 팀원 덕분에 나 또한 다시 한 번 Elastic Search를 복습하는 좋은 시간이 되었다. 요즘 항상 느끼는 것이지만, 팀원의 어려움을 함께 고민해주고 해결하는 과정에서 나의 개념을 확실히 잡을 수 있어서 정말 좋은 것 같다.

profile
코딩은 역시 재밌군

0개의 댓글