Repolode
teamtnt

teamtnt/tntsearch

Una biblioteca de búsqueda de texto completo para PHP que crea índices en SQLite, MySQL o Redis y devuelve IDs de documentos ordenados por relevancia.

Estrellas
3,201
Forks
296
Issues abiertos
56
Último commit
hace 4 días

¿Qué es?

TNTSearch es una biblioteca de PHP para añadir búsqueda de texto completo a una aplicación sin ejecutar un servidor de búsqueda aparte. Se le indica una fuente de datos, como una base de datos SQLite, MySQL o PostgreSQL, o una carpeta con archivos de texto; luego se crea un archivo de índice y se ejecutan consultas sobre él. De forma predeterminada, los índices se almacenan en SQLite. También hay motores para MySQL y Redis, y se pueden actualizar mediante llamadas para insertar, actualizar y eliminar datos, sin tener que reconstruirlos por completo.

La búsqueda admite clasificación por relevancia con BM25 y TF-IDF, consultas booleanas con AND, OR y NOT, coincidencias aproximadas con una distancia de edición configurable y búsqueda por prefijos mientras se escribe. También incluye stemmers para varios idiomas, tokenizadores personalizados, resaltado de resultados y fragmentos de texto, búsqueda geográfica del punto más cercano y un clasificador de texto sencillo.

Los métodos de búsqueda devuelven IDs de documentos y puntuaciones, no filas completas, por lo que la aplicación obtiene los registros coincidentes de su propia base de datos y conserva el orden devuelto. Hay un driver para Laravel Scout disponible en un paquete aparte.

Funciones clave

  • 01Clasificación por relevancia con BM25 y TF-IDF
  • 02Búsqueda booleana con los operadores AND, OR y NOT
  • 03Coincidencias aproximadas con distancia de edición y longitud de prefijo ajustables
  • 04Búsqueda por prefijos mientras se escribe
  • 05Almacenamiento de índices en SQLite, MySQL o Redis con actualizaciones incrementales
  • 06Stemmers para varios idiomas y tokenizadores personalizados

Casos de uso

  • Añadir búsqueda de sitios o productos a una aplicación PHP o Laravel sin un servidor de búsqueda aparte
  • Buscar en una colección de documentos almacenados como archivos de texto
  • Encontrar puntos de interés cercanos mediante coordenadas
  • Añadir clasificación de texto sencilla a un proyecto de PHP

Inicio rápido

  1. 1

    Instala la biblioteca con Composer

    composer require teamtnt/tntsearch
  2. 2

    Configura TNTSearch, crea un índice a partir de tu consulta de origen, selecciónalo y busca

Antes de usarlo

  • La búsqueda devuelve los ID y las puntuaciones de los documentos, no los documentos en sí; por eso, debes obtener las filas de tu propia base de datos.
  • El motor predeterminado requiere PHP 7.4 o una versión posterior y la extensión pdo_sqlite.

En colecciones

Temas

Preguntas frecuentes

¿Qué es tntsearch?
Una biblioteca de búsqueda de texto completo para PHP que crea índices en SQLite, MySQL o Redis y devuelve IDs de documentos ordenados por relevancia. TNTSearch es una biblioteca de PHP para añadir búsqueda de texto completo a una aplicación sin ejecutar un servidor de búsqueda aparte. Se le indica una fuente de datos, como una base de datos SQLite, MySQL o PostgreSQL, o una carpeta con archivos de texto; luego se crea un archivo de índice y se ejecutan consultas sobre él. De forma predeterminada, los índices se almacenan en SQLite. También hay motores para MySQL y Redis, y se pueden actualizar mediante llamadas para insertar, actualizar y eliminar datos, sin tener que reconstruirlos por completo.
¿tntsearch es gratuito? ¿Qué licencia tiene?
tntsearch es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿tntsearch sigue mantenido?
Mantenimiento activo. El último commit de tntsearch fue el 3 nov 2026.
¿Para qué puedo usar tntsearch?
Añadir búsqueda de sitios o productos a una aplicación PHP o Laravel sin un servidor de búsqueda aparte Buscar en una colección de documentos almacenados como archivos de texto Encontrar puntos de interés cercanos mediante coordenadas Añadir clasificación de texto sencilla a un proyecto de PHP
¿Cómo se instala tntsearch?
Instala la biblioteca con Composer: composer require teamtnt/tntsearch Configura TNTSearch, crea un índice a partir de tu consulta de origen, selecciónalo y busca
¿Dónde consigo tntsearch?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/teamtnt/tntsearch

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados