Repolode
teamtnt

teamtnt/tntsearch

Uma biblioteca de busca full-text para PHP que cria índices em SQLite, MySQL ou Redis e retorna IDs de documentos classificados por relevância.

Estrelas
3,201
Forks
296
Issues abertas
56
Último commit
há 4 dias

O que é?

TNTSearch é uma biblioteca PHP que adiciona busca full-text a uma aplicação sem precisar executar um servidor de busca separado. Basta apontá-la para uma fonte de dados, como um banco SQLite, MySQL ou PostgreSQL, ou uma pasta com arquivos de texto, criar um arquivo de índice e executar consultas nele. Por padrão, os índices são armazenados em SQLite; também há engines para MySQL e Redis, e eles podem ser atualizados com chamadas de inserção, atualização e exclusão, sem precisar recriá-los por completo.

A busca oferece classificação por relevância com BM25 e TF-IDF, consultas booleanas com AND, OR e NOT, correspondência aproximada com distância de edição configurável e busca por prefixo enquanto o usuário digita. Também inclui stemmers para vários idiomas, tokenizers personalizados, destaque de resultados e snippets, busca geográfica pelo ponto mais próximo e um classificador de texto simples.

Os métodos de busca retornam IDs e pontuações dos documentos, não os registros completos. Assim, a aplicação busca os registros correspondentes no próprio banco de dados e mantém a ordem retornada. Há um driver para Laravel Scout disponível em um pacote separado.

Recursos principais

  • 01Classificação por relevância com BM25 e TF-IDF
  • 02Busca booleana com os operadores AND, OR e NOT
  • 03Correspondência aproximada com distância de edição e tamanho de prefixo ajustáveis
  • 04Busca por prefixo enquanto o usuário digita
  • 05Armazenamento de índices em SQLite, MySQL ou Redis, com atualizações incrementais
  • 06Stemmers para vários idiomas e tokenizers personalizados

Casos de uso

  • Adicionar busca ao site ou a produtos em uma aplicação PHP ou Laravel sem um servidor de busca separado
  • Buscar em uma coleção de documentos armazenados como arquivos de texto
  • Encontrar pontos de interesse próximos usando coordenadas
  • Adicionar classificação de texto simples a um projeto PHP

Início rápido

  1. 1

    Instale a biblioteca com o Composer

    composer require teamtnt/tntsearch
  2. 2

    Configure o TNTSearch, crie um índice a partir da sua consulta de origem, selecione-o e pesquise

Antes de usar

  • A pesquisa retorna os IDs e as pontuações dos documentos, não os documentos em si; por isso, você precisa buscar as linhas no seu próprio banco de dados.
  • O mecanismo padrão requer PHP 7.4 ou mais recente e a extensão pdo_sqlite.

Em coleções

Tópicos

Perguntas frequentes

O que é tntsearch?
Uma biblioteca de busca full-text para PHP que cria índices em SQLite, MySQL ou Redis e retorna IDs de documentos classificados por relevância. TNTSearch é uma biblioteca PHP que adiciona busca full-text a uma aplicação sem precisar executar um servidor de busca separado. Basta apontá-la para uma fonte de dados, como um banco SQLite, MySQL ou PostgreSQL, ou uma pasta com arquivos de texto, criar um arquivo de índice e executar consultas nele. Por padrão, os índices são armazenados em SQLite; também há engines para MySQL e Redis, e eles podem ser atualizados com chamadas de inserção, atualização e exclusão, sem precisar recriá-los por completo.
tntsearch é gratuito? Qual é a licença?
tntsearch é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
tntsearch ainda é mantido?
Manutenção ativa. O último commit de tntsearch foi em 3 de nov. de 2026.
Para que posso usar tntsearch?
Adicionar busca ao site ou a produtos em uma aplicação PHP ou Laravel sem um servidor de busca separado Buscar em uma coleção de documentos armazenados como arquivos de texto Encontrar pontos de interesse próximos usando coordenadas Adicionar classificação de texto simples a um projeto PHP
Como instalar tntsearch?
Instale a biblioteca com o Composer: composer require teamtnt/tntsearch Configure o TNTSearch, crie um índice a partir da sua consulta de origem, selecione-o e pesquise
Onde consigo tntsearch?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/teamtnt/tntsearch

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados