mirror of
https://github.com/quickwit-oss/tantivy.git
synced 2026-01-04 16:22:55 +00:00
aaef546f91f09cbfb5db1fe5d88d4b8910f3ca95
* Moved NUM_SEARCHERS into a local variable dynamically determined as the number of available cpus. var name in lowercase (not a constant anymore). updated it in docstring * lowercased the varnames * User can set number of logical cores in create_from_metas * cargo fmt * Num_searchers as Arc<AtomicUsize> Retrieving the value with Relaxed ordering Reverted create_from_metas signature. However, it calls num_cpus and sets the Arc val
Tantivy is a full text search engine library written in rust.
It is closer to Lucene than to Elastic Search and 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.
Tantivy is, in fact, strongly inspired by Lucene's design.
Features
- Full-text search
- Tiny startup time (<10ms), perfect for command line tools
- BM25 scoring (the same as lucene)
- Basic query language (
+michael +jackson) - Phrase queries search ("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 and i64 fast fields (equivalent of doc values in Lucene)
&[u8]fast fields- LZ4 compressed document store
- Range queries
- Faceted search
- Configurable indexing (optional term frequency and position indexing
- Cheesy logo with a horse
Non-features
- Distributed search and will not be in the scope of tantivy.
Supported OS and compiler
Tantivy works on stable rust (>= 1.27) and supports Linux, MacOS and Windows.
Getting started
- tantivy's simple search example
- tantivy-cli and its tutorial.
tantivy-cliis an actual command line interface that makes it easy for you to create a search engine, index documents and search via the CLI or a small server with a REST API. It will walk you through getting a wikipedia search engine up and running in a few minutes. - [reference doc]
Compiling
Development
Tantivy compiles on stable rust but requires Rust >= 1.27.
To check out and run tests, you can simply run :
git clone git@github.com:tantivy-search/tantivy.git
cd tantivy
cargo build
Contribute
Send me an email (paul.masurel at gmail.com) if you want to contribute to tantivy.
Languages
Rust
100%
