Repolode
quickwit-oss

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:ElasticsearchApache 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. 1

    Clona el repositorio

    git clone https://github.com/quickwit-oss/tantivy.git
  2. 2

    Entra en el directorio del proyecto

    cd tantivy
  3. 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