잘 읽었습니다. 처음엔 단순히 인덱스 걸었다는 글이려나? 싶었는데 이에 그치지 않고 다양한 방법을 시도해주시고 공유해주셔서 좋네요. 차후엔 말씀하신대로 trie를 써봐도 좋겠고 혹은 최근 검색이 많이된 트렌드 term은 좀 더 가중치를 준다거나 하는식으로 개선해봐도 좋겠네요!
하나 궁금한건 term과 decomposed term 둘 다 or 조건으로 조회하시던데 decomposed term가 상위호환이니 이 필드만 조회해도 되지않나하는점이네요. 쿼리가 “넹”이어도 “ㄴㅔㅇ”로 분리되니 “네이버”로 검색될거라 생각해서요. 실제 term이 “넹”인것도 마찬가지로 검색될테고.

말씀해주신 것처럼 decomposed term만으로 조회해도 충분합니다. 이게 생긴 이상 term은 불필요한 조건이었는데 이를 고려하지 못했던 것 같습니다. 덕분에 수정했습니다. 감사합니다!