Base de datos de búsqueda de código abierto con búsqueda de texto completo, vectorial e híbrida, indexación en tiempo real y SQL; una alternativa a Elasticsearch.
quickwit-oss/tantivy
Biblioteca de búsqueda de texto completo en Rust, inspirada en Apache Lucene, para integrar búsquedas personalizadas en aplicaciones.
Alternativa open source a:Elasticsearch
Apache Solr
- Estrellas
- 16,247
- Forks
- 1,017
- Issues abiertos
- 484
- Último commit
- hace 20 horas
¿Qué es?
Tantivy es un crate de Rust para incorporar búsquedas de texto completo en tu propio software. No es un servidor de búsqueda independiente; en su lugar, los desarrolladores usan su API para definir esquemas, indexar documentos y ejecutar consultas. Su diseño sigue de cerca el de Apache Lucene y usa puntuación BM25, que coincide con el ranking de Lucene.
La biblioteca incluye los componentes habituales de búsqueda: tokenizadores configurables con stemming para 17 idiomas que usan el alfabeto latino, consultas de frases y rangos, un lenguaje de consulta natural con operadores AND/OR y búsqueda por facetas. Los campos pueden ser de texto, enteros, números de punto flotante, fechas, direcciones IP, booleanos o JSON, y los fast fields funcionan como los doc values de Lucene. Los documentos se pueden almacenar con compresión LZ4, Zstd o sin compresión, y un collector de agregaciones ofrece histogramas, buckets por rango y estadísticas básicas.
Tantivy admite la indexación incremental y multihilo, y se inicia en menos de 10 ms, por lo que es adecuado para herramientas de línea de comandos. Para tokenizar chino y japonés, el proyecto enlaza con crates de tokenización de terceros. Funciona con Rust estable en Linux, macOS y Windows.
Funciones clave
- 01Puntuación BM25, el mismo ranking que Lucene
- 02Tokenizadores configurables con stemming para 17 idiomas que usan el alfabeto latino
- 03Consultas de frases, rangos y lenguaje natural con operadores booleanos
- 04Indexación incremental y multihilo
- 05Fast fields, búsqueda por facetas y agregaciones
- 06Almacén de documentos comprimidos con LZ4, Zstd o sin compresión
Casos de uso
- Añadir búsquedas de texto completo a una aplicación Rust sin ejecutar un servidor independiente
- Crear una herramienta de búsqueda personalizada para línea de comandos que se inicie rápidamente
- Indexar archivos de correo electrónico o mensajes para realizar búsquedas locales
- Integrar un motor de búsqueda en un servicio que necesite consultas al estilo de Lucene
Inicio rápido
- 1
Clona el repositorio
git clone https://github.com/quickwit-oss/tantivy.git - 2
Entra en el directorio del proyecto
cd tantivy - 3
Ejecuta las pruebas con Cargo (stable Rust)
cargo test
Antes de usarlo
- Es una biblioteca de Rust, no un servidor de búsqueda listo para usar, así que tendrás que crear tu propia aplicación de búsqueda sobre ella.
- La búsqueda distribuida queda fuera del alcance; para eso, usa Quickwit.
- Los documentos son inmutables, así que para editar uno hay que eliminarlo y volver a indexarlo.
- La tokenización de chino y japonés depende de crates de terceros.
Temas
Preguntas frecuentes
- ¿Qué es tantivy?
- Biblioteca de búsqueda de texto completo en Rust, inspirada en Apache Lucene, para integrar búsquedas personalizadas en aplicaciones. Tantivy es un crate de Rust para incorporar búsquedas de texto completo en tu propio software. No es un servidor de búsqueda independiente; en su lugar, los desarrolladores usan su API para definir esquemas, indexar documentos y ejecutar consultas. Su diseño sigue de cerca el de Apache Lucene y usa puntuación BM25, que coincide con el ranking de Lucene.
- ¿tantivy es gratuito? ¿Qué licencia tiene?
- tantivy es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿tantivy sigue mantenido?
- Mantenimiento activo. El último commit de tantivy fue el 21 oct 2026.
- ¿Para qué puedo usar tantivy?
- Añadir búsquedas de texto completo a una aplicación Rust sin ejecutar un servidor independiente Crear una herramienta de búsqueda personalizada para línea de comandos que se inicie rápidamente Indexar archivos de correo electrónico o mensajes para realizar búsquedas locales Integrar un motor de búsqueda en un servicio que necesite consultas al estilo de Lucene
- ¿Cómo se instala tantivy?
- Clona el repositorio: git clone https://github.com/quickwit-oss/tantivy.git Entra en el directorio del proyecto: cd tantivy Ejecuta las pruebas con Cargo (stable Rust): cargo test
- ¿Dónde consigo tantivy?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/quickwit-oss/tantivy
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Motor ligero de búsqueda de texto completo, escrito en Go y distribuido como un único binario, que ofrece una alternativa más sencilla a Elasticsearch para búsquedas en aplicaciones.
Una biblioteca de búsqueda de texto de alto rendimiento y con todas las funciones, escrita en Java y usada como base para crear aplicaciones de búsqueda.
Un módulo de Redis que añade búsqueda de texto completo, índices secundarios, búsquedas de similitud vectorial y consultas de agregación a los datos de Redis.
Apache Solr es una plataforma de búsqueda multimodal de código abierto basada en Apache Lucene, para búsquedas de texto completo, vectoriales y geoespaciales.
Una extensión de Postgres que incorpora búsqueda de texto completo y vectorial, puntuación BM25 y agregaciones a tu base de datos existente.