Tantivy

Build Status Coverage Status License: MIT Join the chat at https://gitter.im/tantivy-search/tantivy beacon for google analytics

Tantivy is a full text search engine library written in rust.

It is strongly inspired by Lucene's design.

Features

  • configurable indexing (optional term frequency and position indexing)
  • tf-idf scoring
  • Basic query language
  • Phrase queries
  • Incremental indexing
  • Multithreaded indexing (indexing English Wikipedia takes 4 minutes on my desktop)
  • mmap based
  • optional SIMD integer compression
  • u32 fast fields (equivalent of doc values in Lucene)
  • LZ4 compressed document store
  • Cheesy logo with a horse

Tantivy supports Linux and MacOS. Windows is not supported.

Getting started

Compiling

Tantivy requires Rust Nightly because it uses requires the features box_syntax, optin_builtin_traits, and conservative_impl_trait. By default, tantivy uses a git submodule called simdcomp. After cloning the repository, you will need to initialize and update the submodules. The project can then be built using cargo.

git clone [email protected]:tantivy-search/tantivy.git
cd tantivy
cargo build

Alternatively, if you are trying to compile tantivy without simd compression, you can disable this functionality. In this case, this submodule is not required and you can compile tantivy by using the --no-default-features flag.

cargo build --no-default-features 

Contribute

Send me an email (paul.masurel at gmail.com) if you want to contribute to tantivy.