Repolode
quickwit-oss

quickwit-oss/tantivy

Biblioteca de busca full-text em Rust, inspirada no Apache Lucene, para adicionar busca personalizada a aplicações.

Alternativa open source a:ElasticsearchApache Solr

Estrelas
16,247
Forks
1,017
Issues abertas
484
Último commit
há 20 horas

O que é?

Tantivy é uma crate Rust para adicionar busca full-text ao seu próprio software. Não é um servidor de busca independente; em vez disso, os desenvolvedores usam sua API para definir schemas, indexar documentos e executar consultas. Seu design segue de perto o Apache Lucene, e ela usa a pontuação BM25, que corresponde ao ranking do Lucene.

A biblioteca reúne os componentes habituais de busca: tokenizers configuráveis com stemming para 17 idiomas que usam o alfabeto latino, consultas por frase e intervalo, uma linguagem de consulta natural com operadores AND/OR e busca facetada. Os campos podem ser de texto, inteiros, números de ponto flutuante, datas, endereços IP, valores booleanos ou JSON, e os fast fields funcionam como os doc values do Lucene. Os documentos podem ser armazenados com LZ4, Zstd ou sem compressão, e um collector de agregação fornece histogramas, buckets por intervalo e estatísticas básicas.

Tantivy oferece suporte à indexação incremental e multithread, e inicia em menos de 10 ms, o que o torna adequado para ferramentas de linha de comando. Para tokenização de chinês e japonês, o projeto indica crates de tokenizer de terceiros. Ele roda em Rust stable no Linux, macOS e Windows.

Recursos principais

  • 01Pontuação BM25, com o mesmo ranking do Lucene
  • 02Tokenizers configuráveis com stemming para 17 idiomas que usam o alfabeto latino
  • 03Consultas por frase, intervalo e linguagem natural com operadores booleanos
  • 04Indexação incremental e multithread
  • 05Fast fields, busca facetada e agregações
  • 06Armazenamento de documentos compactado com LZ4, Zstd ou sem compressão

Casos de uso

  • Adicionar busca full-text a uma aplicação Rust sem executar um servidor separado
  • Criar uma ferramenta de busca personalizada para linha de comando, com inicialização rápida
  • Indexar arquivos de e-mails ou mensagens para busca local
  • Incorporar um mecanismo de busca a um serviço que precisa de consultas no estilo Lucene

Início rápido

  1. 1

    Clone o repositório

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

    Acesse o diretório do projeto

    cd tantivy
  3. 3

    Execute os testes com Cargo (stable Rust)

    cargo test

Antes de usar

  • É uma biblioteca Rust, não um servidor de busca pronto para uso; portanto, você precisa criar seu próprio aplicativo de busca com base nela.
  • A busca distribuída está fora do escopo; para isso, use o Quickwit.
  • Os documentos são imutáveis. Para editar um, é preciso excluí-lo e indexá-lo novamente.
  • A tokenização de chinês e japonês depende de crates de terceiros.

Tópicos

Perguntas frequentes

O que é tantivy?
Biblioteca de busca full-text em Rust, inspirada no Apache Lucene, para adicionar busca personalizada a aplicações. Tantivy é uma crate Rust para adicionar busca full-text ao seu próprio software. Não é um servidor de busca independente; em vez disso, os desenvolvedores usam sua API para definir schemas, indexar documentos e executar consultas. Seu design segue de perto o Apache Lucene, e ela usa a pontuação BM25, que corresponde ao ranking do Lucene.
tantivy é gratuito? Qual é a licença?
tantivy é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
tantivy ainda é mantido?
Manutenção ativa. O último commit de tantivy foi em 21 de out. de 2026.
Para que posso usar tantivy?
Adicionar busca full-text a uma aplicação Rust sem executar um servidor separado Criar uma ferramenta de busca personalizada para linha de comando, com inicialização rápida Indexar arquivos de e-mails ou mensagens para busca local Incorporar um mecanismo de busca a um serviço que precisa de consultas no estilo Lucene
Como instalar tantivy?
Clone o repositório: git clone https://github.com/quickwit-oss/tantivy.git Acesse o diretório do projeto: cd tantivy Execute os testes com Cargo (stable Rust): cargo test
Onde consigo tantivy?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/quickwit-oss/tantivy

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

Projetos relacionados