엘라스틱서치에서 기본적으로 제공하는 Suggest API가 키워드 자동완성을 지원하지만 한글 키워드를 대상으로 할 때는 정상적으로 동작하지 않기 때문에 직접 자동완성을 구현해야 한다.

Suggest API

Suggest API를 이용하면 텀과 정확히 일치하지 않는 단어도 자동으로 인식해서 처리할 수 있다.

Term Suggest API

Term Suggest API는 잘못된 철자에 대해 해당 인덱스의 특정 필드에서 가장 유사한 단어를 추천해주는 오타 교정 방법이다. 한글에서는 잘 동작하지 않는다.

Term Suggest API는 편집거리를 사용해 비슷한 단어를 제안한다. 두 문자열 사이의 편집거리는 하나의 문자열을 다른 문자열로 바꾸는 데 필요한 편집 횟수를 말한다.

편집거리 측정 과정을 진행할 때 한 문자열을 다른 문자열로 바꾸는 데 필요한 연산의 총 수행 횟수의 합계를 편집거리라 한다. “elastic soarch”를 “elastic search”로 바꾸는 과정에는 o를 삭제하고 a를 추가시켜야 하므로 편집거리가 2이다.

Completion Suggest API

자동완성을 위해 제공되는 API