It is closer to Apache Lucene than to Elasticsearch or Apache Solr in the sense it is not an off-the-shelf search engine server, but rather a crate that can be used to build such a search engine.
Companies like Element, Humanfirst, and Nuclia have used Tantivy to unleash the horse-powers in their search queries.
There are many ways to use Tantivy. Tantivy can be run in the browser with a WASM file. For Ruby-lovers, Tantiny offers close Ruby bindings for Tantivy . Lastly, you can install Python bindings in Tantivy-Py repo.
Features of Tantivy include, but are not limited to:
- Full-text search
- Configurable tokenizer (stemming available for 17 Latin languages with third party support for Chinese (tantivy-jieba and cang-jie), Japanese (lindera, Vaporetto, and tantivy-tokenizer-tiny-segmenter) and Korean (lindera + lindera-ko-dic-builder)
- Fast (check out the 🐎 ? benchmark ? 🐎)
- Tiny startup time (<10ms), perfect for command-line tools
- BM25 scoring (the same as Lucene)
- Natural query language (e.g. (michael AND jackson) OR "king of pop")
- Phrase queries search (e.g. "michael jackson")
- Incremental indexing
- Multithreaded indexing (indexing English Wikipedia takes < 3 minutes on my desktop)
- Mmap directory
- SIMD integer compression when the platform/CPU includes the SSE2 instruction set
- Single valued and multivalued u64, i64, and f64 fast fields (equivalent of doc values in Lucene)
- &[u8] fast fields
- Text, i64, u64, f64, dates, and hierarchical facet fields
- LZ4 compressed document store
- Range queries
- Faceted search
- Configurable indexing (optional term frequency and position indexing)
- JSON Field
- Aggregation Collector: range buckets, average, and stats metrics
- LogMergePolicy with deletes
- Searcher Warmer API
- Cheesy logo with a horse (obviously an amazing feature)
Non-features include:
Distributed search is out of the scope of Tantivy, but if you are looking for this feature, check out Quickwit. It is our search engine, built on top of Tantivy.