java 배우기/TIL

Elasticsearch 동의어 필터 생성 중 오류

checkuu 2024. 11. 16. 03:48

 

문제

elasticsearch에 analyzer 설정하고 인덱스를 설정하는데 아래와 같은 오류가 떴다.

 

내가 넣은 동의어 필터의 내용이다.

이유

해당 오류의 의미는 장미꽃이 토큰화될 때 장미라는 단어로 분해되었고, 이 때 position increment가 1이 아니어서 오류가 발생했다고 한다.

솔직히 들어도 정확한 의미는 모르겠지만 느낌적으로 장미꽃을 분해해서 저장하는데 뒤에 장미, 장미꽃송이등 형태소를 분리했을때 같은단어들이 나와서 나오는 오류라고 생각했다.

 

해결

그래서 단어를 쪼갰을때, 비슷한 단어가 포함된 동의어를 조금씩 지워주니 정말 설정이 저장됐다.

그리고 생각해봤는데, elasticsearch 전문검색 기능으로 충분히 장미꽃송이등은 검색에 들어올꺼기 때문에 오타에 따른 동의어 처리만 해주면 된다 생각한다.

잘 저장된것을 확인했다. 이제 테스트 해보자