한글 입력 과정의 초중종성 완결과정 검색하기
조회수 2571회
네이버 검색창 한글 자동완성 같은 것 있쟎아요.
'신발' 이렇게 치면 'ㅅ', '시', '신', '신ㅂ', '신바', '신발' 이런 과정에서 자동완성으로 추천 검색어를 노출해 주고 싶거든요.
현재 검색엔진을 elasticsearch를 쓰고 있어서, 가능하다면 이 환경에서 쓸 수 있는 방법이 있으면 더 좋을 것 같구요. 한글 타이핑 초중종성 완결 되는 과정을 토큰으로 뱉어주는 elastic search 토큰나이저가 혹시 있을까요? 만들어서 써야 할까요?
공개된 소스가 있으면 더 좋겠지만, 공개된 소스가 없다면 구현의 접근 방법, 조언을 듣고 싶습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
elastic search가 아니고 DB를 사용한다면 다음과 같이 처리할 수 있을 것 같습니다.
한글을 자소로 분리하여 별도 컬럼으로 저장한 후 LIKE 검색으로 처리하는 방식입니다. 예를 들어 '신발'의 경우 'ㅅㅣㄴㅂㅏㄹ' 을 저장해놓고 검색창에 들어온 글자를 분리해서 'ㅅ'이 입력되면 'ㅅ%'로 검색, '시'가 입력되면 'ㅅㅣ%'로 검색하면 원하는 결과가 나올 것 같습니다.
한글 자소분리는 다음을 참고하시기 바랍니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
- 감사합니다_(..)_ 공부해서 나머지 부분 구현 잘 해보겠습니다~! 알 수 없는 사용자 2016.4.6 15:16
- 저는 자소분리한 결과를 es에 필드 하나더 파서 같이 저장해서 ES에서 호출해서 결과를 노출시키고있습니다. 자소필드 저장되는 데이터는 영께서 자세히 설명해주신바와 같습니다. 알 수 없는 사용자 2016.4.7 16:38
-
댓글 입력