Algolia의 검색 API를 이용하여 파이어베이스의 데이터를 검색해보자.
오늘은 파이어베이스의 데이터를 검색하는 기능을 만들어보려고 한다.
텍스트필드의 컨트롤러가 변할 때마다 DB 전체를 새로 로드해야 하는데, 이 때 파이어베이스의 내장 쿼리를 쓰기보다 AI로 검색하는 외부 프로그램을 사용하면 굉장히 빠르게 검색할 수 있다고 한다.
찾아보니 Algolia
라는 검색엔진이 유명하고 많이 쓰이는 것 같았다.
알골리아는 Firebase functions 기능으로 사용할 수도 있고, DB가 BLAZE 플랜(유료)이라면 확장 기능으로 사용할 수도 있다. 확장 기능 사용은 아래 링크를 참고하자.
Firebase Extension - Algolia
https://extensions.dev/extensions/algolia/firestore-algolia-search
Algolia API 사용은 다음 단계로 이루어진다.
Firebase Functions로 함수를 작성해서 알골리아 서버로 데이터를 전송해보자. Functions를 쓸 때는 자바스크립트나 파이썬 중 하나를 선택할 수 있는데 여기서는 자바스크립트를 골랐다.
안내하는대로 프로젝트에 의존성을 주입한다. npm이 깔려 있어야 한다.
그 뒤에 터미널에서 firebase init을 실행하면 Firebase를 초기화하고 Functions를 사용할 것인지 선택할 수 있다. (스크린샷 못 찍음...)
그러면 이렇게 폴더가 생성된다!
node_modules는 모듈(=패키지)을 관리하는 폴더이다. 원래 프로젝트 루트에 있었는데 저 곳으로 위치를 바꿔주었다.
index.js는 기능을 작성하는 파일이고, 밑에 json 파일 두 개는 패키지 관리용이다. 이제 함수를 구현해보자.