PostgreSQL/GraphQL로 한글 search backend 만들려는데요

  • #3596985
    ㄹㅇ 73.***.32.220 152

    영어 사이트들 중 검색창에 단어를 쓰면 알파벳 하나 쓰거나 지울 때마다 엔터 칠 필요 없이 바로 검색 결과가 바뀌는 사이트들이 꽤 있는데요 (예: Hulu, https://www.urbandictionary.com, etc.)
    한글은 알파벳이 아니라 자음 모음 받침을 조합해서 한 글자를 만드는 언어라
    예를 들어 ‘아리랑’을 검색한다고 하면
    1 ㅇ
    2 아
    3 아ㄹ
    4 아리
    5 아릴
    6 아리라
    7 아리랑
    이런 순서로 검색이 되는데
    영어였다면 1~7 검색하는 내내 아리랑이 결과에 뜨겠지만
    한글은 1, 3, 5, 6 같은 경우는 결과가 안 떠서 타이핑 하는 도중에 결과가 없어졌다 생겼다 없어졌다 생겼다 해서 불편하고 보기에도 안 좋은데요.

    이런 문제점 해결할 수 있는 search 방법이 있나요? 현재는 그냥 string matching으로 만들어봤는데 간단한 패키지같은 걸로 해결 가능하다면 써보고 싶습니다.

    검색 자료 수는 아무리 많아도 한 몇 만개 정도일 것 같습니다. (사실 몇 천개 되기까지도 한참 시간이 걸릴 것 같긴 합니다)

    • 1코와이네111111 108.***.159.130

      직접 만드는 것보다는

      유명한 오픈소스 찾아보시는게…

    • 50.***.223.2

      기본 기능은 검색어 자동완성 API 로 검색하니까 나오는데…
      PostgreSQL/GraphQL내에 있는 데이터만 나오게 하려면 어쨋든 좀 손을 보셔야 할것 같습니다.

      저도 전문 범위가 아니라 조심스럽긴 한데…
      자음모음을 붙이지 않고…(한글로 조합하지 않고, 자음모음순차적으로만 이어지게… 저장하고 비교해서 인식하는것 같은데…정확한 용어나 방식은 모르겠습니다.)

    • 123 47.***.15.234

      stack.
      ㅇ (push) => ㅇ
      ㅏ (push) => 아
      ㄴ (push) => 안
      (pop) => 아
      (pop) => ㅇ
      (pop) => Is.Empty or null

    • gle 100.***.186.242

      각 key stoke 마다 셔치 하지 마시고 debounce 이용해서 delay를 좀 주세요