typesense - 오픈소스 검색 엔진
(typesense.org)- 매우 빠르고, 검색어에 연관된 결과를 찾아줌
ㅤ→ Typo Tolerance(오타 허용) : 어느정도 알아서 오타를 인식하고 처리
- 검색 순위를 편하게 조정 가능
- 검색시 특정 필드별로 정렬 지원
- Facet & Filter 탐색 지원 : 검색 결과를 특정 필드단위로 묶어서 보여주고 필터링
- 특정 결과에 접근하기 위한 API Key 범위 제한 가능
- Raft 기반 클러스터링
- Linux/Mac 바이너리 및 도커 이미지 제공
- C로 작성된 오픈소스
FAQ에서
- ElasticSearch 와는 뭐가 다른가요 ?
ㅤ→ ES는 설치 및 관리가 복잡하지만, TypeSense는 "Time-to-Market"을 위해 만들어진거라 빠르게 설치가 가능하고, 물론 스케일링도 할 수 있음
- Algolia 와는 뭐가 다른가요 ?
ㅤ→ 알고리아는 꽤 좋은 검색엔진 SaaS지만 비쌈. TypeSense는 자체 호스팅도 가능하고, SaaS 버전도 저렴(저장된 레코드 나 검색당 과금이 아니고, 사용 시간 및 밴드위스 당으로 과금)
ㅤ→ 기능상으로 TypeSense는 ElasticSearch 보다는 Algolia 랑 비슷
- 속도가 빠른데 메모리 풋프린트는 ?
ㅤ→ 기본적으로 TypeSense서버는 30메가 정도의 메모리를 차지하고, 데이터 인덱싱을 시작하면 늘어나는데 굉장히 간결한 데이터구조를 유지함
ㅤ→ 해커뉴스 글 제목 1백만개가 JSON으로 88MB인데, 이거를 Typesense가 인덱스해서 메모리에 올리면 165MB 정도를 사용
기본적으로 서비스 내부에서 검색엔진을 만든다고 하면, 설정부터 관리가 좀 복잡한데 이걸 빠르게 할 수 있는 오픈소스 입니다.
다만 한국어라면 형태소등 신경써야할게 있겠지만.. 이게 글자단위로 빠르게 찾아내서 결과를 보여주기 때문에 고려할 만한 가치는 있어 보입니다.
이 TypeSense를 활용해서 데모로 만든 사이트가 있으니 같이 보시면 좋을거 같아요
- 2백만개 음식 레시피 검색 엔진 https://news.hada.io/topic?id=3370