Sobre o projeto
FlexSearch é uma biblioteca de busca full-text projetada para uso em navegadores e Node.js. É distribuída via npm e também oferece bundles pré-construídos (light, compact, bundle) além de builds de módulos ES, com variantes de debug e links de CDN.
As capacidades principais descritas no README incluem:
- Busca em documentos com múltiplos campos, usando um descritor de documento e opções dedicadas de busca de documentos.
- Busca por tags e busca por múltiplas tags.
- Destaque de resultados, incluindo opções de limite e reticências.
- Busca fonética (fuzzy).
- Correspondência parcial via tokenizers configuráveis.
- Sugestões e busca por contexto.
- Um resolvedor para consultas complexas com operações booleanas (and, or, xor, not), boost, limit e offset.
- Cache auto-balanceado por popularidade ou última consulta.
- Exportação/importação de índices, incluindo serialização de inicialização rápida para renderização no lado do servidor.
- Índices de worker para atualizações e consultas paralelas através de threads dedicados.
- Balanceamento de runtime assíncrono e não bloqueante.
- Funções de pontuação personalizadas e builds personalizados.
As opções de persistência são documentadas para IndexedDB no navegador e para Redis, SQLite, Postgres, MongoDB e Clickhouse. O armazenamento padrão é em memória.
Suporte a conjuntos de caracteres listados: Latim, Chinês/Coreano/Japonês (CJK), Hindi, Árabe, Cirílico, Grego e Copta, e Hebraico. A documentação do encoder cobre opções de encoder, coleção universal de caracteres, predefinições de charset latino, predefinições específicas de idioma e encoders personalizados.
O README vincula a integrações externas para React, Vue, Gatsby e Nikola, e a demos como auto-completar. Também referencia benchmarks de desempenho e correspondência e inclui uma tabela de resultados de benchmark comparando várias bibliotecas de busca JavaScript; esses números são medições publicadas pelo próprio projeto e devem ser tratados como tais.
O projeto afirma que foi nomeado pelo GitNation para "Melhor Tecnologia do Ano" e fornece links de doação através de Open Collective, GitHub Sponsors, Liberapay, Patreon e PayPal. Um guia de migração para v0.8 é referenciado, e o README observa que a pasta /dist/ deve ser usada em vez de /src/ devido a flags de compilação condicional.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.