DB 내 데이터가 많은 경우, 검색 시 시간이 timeout에 의해 오류로 반환될 정도로 성능이 좋지 못함.
In Natural Language Mode/In Boolean Mode
In Natural Language Mode
ngram 등과 같은 기능을 통해 string을 토큰화
토큰화 한 단어 중 하나라도 포함되는 데이터를 탐색
relevance value를 통해 관련도를 파악할 수 있음.
In Boolean Mode
스탑워드 및 짧은 단어 처리/논리적 연산 지원 등 검색 조건을 사용자 지정 가능
복잡한 연산이 진행되기에 속도 측면에서 성능이 크게 좋지 못함.
SQL Like 연산
%word%
처럼 앞에 %
연산자를 붙이면 인덱스 적용을 하더라도 성능 저하가 있을 수 있음.Cursor 기반 페이지네이션(feat. skip/limit)
cursor 데이터를 지정하여 요청하도록 함.
요청에 포함된 cursor 데이터를 활용하여 where문을 사용해 탐색해야 할 데이터를 감소
skip/limit