현재의 자동완성 기능의 문제점

  1. 인덱싱한 픽 제목이 전부 다 보이는 문제 → 기획과 상의

    실제로 존재하는 제목이긴 하나 무자비하게 모두 노출 시키는 것은 검색 경험에 있어 그리 좋을 것 같지 않다.

    실제로 존재하는 제목이긴 하나 무자비하게 모두 노출 시키는 것은 검색 경험에 있어 그리 좋을 것 같지 않다.

    하지만 위의 의견은 반박할 수 있는 의견으로 chrome의 검색을 들 수 있다.

    크롬의 경우는 심지어 링크까지 같이 나오게 된다. 검색어의 길이를 줄이는 과정으로 생각해도 좋을 것으로 보인다.

    크롬의 경우는 심지어 링크까지 같이 나오게 된다. 검색어의 길이를 줄이는 과정으로 생각해도 좋을 것으로 보인다.

  2. 한글의 자소 분석에 따른 검색 경험 부재 → nori, jaso 플러그인을 이용해 해결

    초성 검색으로만으로도 검색이 가능하도록

    → 현재의 경우는 edge ngram을 바탕으로 토큰을 나누고 있는 상황이기 때문에 함성어 구별에 따른 토크나이징이 불가능한 상태이다.

  3. 영어 검색에 따른 오타 적용커스텀 플러그인 생성 필요 → jaso 플러그인 사용

    도커를 검색하였을 상황의 오타 감지

    도커를 검색하였을 상황의 오타 감지

  4. 속도문제

    현재는 집계와 스코어를 이용해서 한번에 처리가 불가능하기 때문에 이 문제를 백엔드 서버에서 중복을 지우고 정렬을 하는 구조이다.

    → 데이터를 추가로 가공하기 때문에 속도 문제가 발생할 수 있을 것으로 보인다.


이어서(2022.01.25)

<aside> 💡 Opensearch의 플러그인 문제로 인해서 더 이상 진행될 수 없었던 자동완성 및 검색 품질 향상이 Elastic Cloud로 클라우드를 변경하면서 해결되었다. 해결할 수 있는 부분에 대해서 정리하고 이를 어떤 방식으로 적용할 지 고민해보자

</aside>

현재 플러그인으로 해결할 수 있는 부분

  1. 합성어에 대한 단어 검색

    Nori 플러그인을 통해서 띄어쓰기가 되어있지 않는 데이터에 대해서 합성어를 이루는 어근을 통해서 검색이 가능해지도록 할 수 있다.

    → 기본적인 옵션은 mixed를 통해서 분할된 단어와 분리된 단어를 모두 포함하도록 하자

  2. 초성을 이용한 단어 검색

    Jaso 플러그인을 이용해서 사용하도록 하자 → 기존의 fuzziniess와 다르게 한글의 오타방지에 적합하다.

    → ❓기존의 오타방지(fuzziness)는 글자 단위로 계산이 되었기 때문에 “재구”라는 검색어에 대해서 “재긴”, “재궁” 모두 가능하다. 한글의 한 글자는 영어의 알파벳 한 글자와 다른 스케일을 가지고 있기 때문에 적합한 자동완성 추천이 들어갈 수 없다.

  3. 초성 단위의 fuzziness(오타방지)