typesense - mecanismo de busca open source
(typesense.org)- Muito rápido e encontra resultados relacionados ao termo buscado
→ Tolerância a erros de digitação: reconhece e processa automaticamente certos typos
-
Permite ajustar facilmente o ranking da busca
-
Suporta ordenação por campos específicos durante a busca
-
Suporta navegação com Facet & Filter: agrupa os resultados de busca por campos específicos e permite filtrar
-
Permite restringir o escopo de API Keys para acessar resultados específicos
-
Clustering baseado em Raft
-
Disponibiliza binários para Linux/Mac e imagem Docker
-
Open source escrito em C
No FAQ
- Qual é a diferença em relação ao ElasticSearch?
→ O ES tem instalação e gerenciamento complexos, mas o TypeSense foi criado para "Time-to-Market", então pode ser instalado rapidamente e, claro, também permite escalar
- Qual é a diferença em relação ao Algolia?
→ O Algolia é um SaaS de busca muito bom, mas caro. O TypeSense também pode ser self-hosted, e a versão SaaS é barata (não cobra por registros armazenados nem por busca, mas sim por tempo de uso e largura de banda)
→ Em termos de funcionalidade, o TypeSense é mais parecido com o Algolia do que com o ElasticSearch
- É rápido, mas qual é o footprint de memória?
→ Por padrão, o servidor TypeSense usa cerca de 30 MB de memória, e esse uso aumenta quando começa a indexar dados, mas ele mantém uma estrutura de dados bem compacta
→ 1 milhão de títulos de posts do Hacker News ocupam 88 MB em JSON, e quando o Typesense indexa isso e carrega na memória, usa cerca de 165 MB
2 comentários
Basicamente, quando se fala em criar um mecanismo de busca dentro do próprio serviço, desde a configuração até a gestão tudo acaba sendo um pouco complexo, mas este é um projeto open source que permite fazer isso rapidamente.
No caso do coreano, claro, haveria questões como análise morfológica para considerar... mas, como ele encontra rapidamente em nível de caracteres e mostra os resultados, parece ter valor suficiente para ser levado em conta.
Há um site de demonstração feito com este TypeSense, então acho que vale a pena dar uma olhada junto.