Busca para Sites Estáticos no Astro
Adicionei busca a três sites de diretórios de IA no mês passado.
Comparei quatro opções principais antes de escolher o Pagefind. Aqui está o porquê da minha escolha.
Os Competidores
• Pagefind: Uma biblioteca baseada em Rust. Ela é executada durante o tempo de build e serve tudo como arquivos estáticos. • Algolia DocSearch: Um serviço hospedado. É rápido e refinado, mas custa dinheiro para sites comerciais. • Lunr.js: Uma biblioteca do lado do cliente (client-side). Funciona offline, mas torna o carregamento inicial da página pesado. • FlexSearch: Uma alternativa mais rápida ao Lunr, mas ainda exige o envio de todo o índice para o navegador.
Por que escolhi o Pagefind
1. Tamanho do Índice
Meus sites têm 1.000 entradas. Um índice do Lunr adicionaria 4MB a cada carregamento de página. O Pagefind usa shards. Ele carrega pequenos pedaços conforme o usuário digita. O carregamento inicial permanece abaixo de 30KB.
2. Custo
O Algolia custa US$ 49 por mês para sites comerciais. Meu orçamento total para os três sites é de US$ 25 por mês. O Pagefind é gratuito.
3. Implantação
O Pagefind cria arquivos estáticos. O Cloudflare Pages faz o cache desses arquivos na edge automaticamente. Você não precisa gerenciar chaves de API ou se preocupar com limites de taxa (rate limits).
As Compensações
O Pagefind não é perfeito. Você deve conhecer estas duas lacunas:
• Sem Registro de Consultas (Query Logging): O Pagefind roda no navegador. Ele não informa o que os usuários pesquisam. O Algolia faz isso automaticamente. Você deve construir sua própria camada de registro para o Pagefind. • Tolerância Básica a Erros de Digitação: O Pagefind usa stemming básico. Ele tem dificuldade com erros de digitação grandes. O Algolia lida muito melhor com erros de digitação.
Resumo da Comparação
• Pagefind: Gratuito, usa arquivos estáticos, escala bem com lazy loading, tolerância básica a erros de digitação. • Algolia: US$ 49/mês, usa infraestrutura em nuvem, escala bem, forte tolerância a erros de digitação. • Lunr.js: Gratuito, envia o índice com a página, baixa escalabilidade, fraca tolerância a erros de digitação.
Meu Veredito
Se você gerencia um site estático com um orçamento pequeno e entre 500 a 1.000 entradas, use o Pagefind. Se você precisa de análises avançadas e uma tolerância perfeita a erros de digitação, pague pelo Algolia.
