'블렉스 이야기' 시리즈검색

baealex

소비적인 일보단 생산적인 일을 좋아합니다.

Sign in to view email

사실 짱짱 잘만들어진 구글 검색 쓰면되는데 다크모드 때문에 자체 검색으로 바꿔야만 했다. 지금은 '검색이 된다' 수준에 불과하다. 그래서 상단에 구글에서 결과를 얻을 수 있도록 링크를 배치해뒀다. (든든) 여하지간 개선할 점이 상당한데 하지만 언제나 그렇듯 문제는 내 코딩 능력이다. 호호호... 일단 내가 생각한 개선해야 할 점은 이렇다.


1.

'django'를 검색했을 때 '장고'가 들어간 결과도 나와야 한다. 그 반대의 경우도 동일해야 한다. 문제는 이걸 어떻게 매칭해주냔 말이다. 생각나는거 하나씩 DB에 넣어볼까... 머리가 나쁘면 손이라도 고생해야;;


2.

'wkdrh'를 검색했을 때 '장고'가 들어간 결과가 나와야 한다. 적어도 '장고'를 검색하려는 것 아니냐는 문구라도 띄워줘야 한다. 검색 결과가 존재하지 않을 때 알려주긴 간단하지만 검색 결과가 적을 때 알려주긴 어렵다. 검색결과가 '어느 수준'에 못미치면 내가 임의로 바꿔서 검색한 다음 결과가 많으면 알려주는 방법도 있겠다.


3.

'장고 검색'을 검색했을 때

  • 장고검색만들기
  • 장고 검색 만들기
  • django 검색 만들기
  • 검색 만드는 방법 feat. Django

위 내용들이 다 검색되야 한다. 첫번째 항목을 검사하는 방법은 간단하다 '장고 검색'을 쪼갠 다음에 두 키워드가 모두 제목에 들어있으면 된다. 두번째 글쓴이는 정직한 제목이므로 상관없겠고. 세번째 항목은 1번을 개선해야 검색할 수 있다. 네번째도 동일하겠다.


4.

내용에서 검색되는 것도 빼놓을 순 없지. 최상의 UX를 위해선 검색한 내용을 중심으로 미리보기 문장을 배치해야 할텐데 이것도 지금 생각나는대로(split, slice + split, slice) 구현하면 나중에 감당이 안될 것 같다. 구체적이고 효율적인 방안을 찾아봐야 할 듯...

그리고 무엇보다 가중치를 설정해야 한다. 제목에서 내용이 있으면 더 높게, 본문에만 있으면 좀 낮게... 이거 정렬하는 것도 다 비용인ㄷ...


5.

위 모든걸 해결하기에 가장 큰 문제는 검색을 저렇게 해버리면 걱정되는 건 DB와 서버의 부하다. 아마 누구나 떠올릴 수 있는 방법은 다른 서버를 하나 열어두고 거기서 포스트의 내용들을 적절한 타이밍에 캐싱한 다음에 검색만 처리하도록 하는 방법일거다. 다만 내 소원은 이 서비스를 가장 완벽한 형태의 모놀리틱 서비스로 만드는 것이기에... 🤣 생각을... 생각을 해보자.

작성된 댓글이 없습니다!
로그인된 사용자만 댓글을 작성할 수 있습니다.