Tantivy is a full text search engine library written in rust.
It is strongly inspired by Lucene's design.
- configurable indexing (optional term frequency and position indexing)
- tf-idf scoring
- Basic query language
- Phrase queries
- Incremental indexing
- Multithreaded indexing (indexing English Wikipedia takes < 3 minutes on my desktop)
- mmap based
- optional SIMD integer compression
- u64 and i64 fast fields (equivalent of doc values in Lucene)
- LZ4 compressed document store
- Cheesy logo with a horse
Tantivy supports Linux, MacOS and Windows.
- tantivy's usage example
- tantivy-cli and its tutorial. It will walk you through getting a wikipedia search engine up and running in a few minutes.
- [reference doc]
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
Send me an email (paul.masurel at gmail.com) if you want to contribute to tantivy.