mirror of
https://github.com/quickwit-oss/tantivy.git
synced 2026-01-08 10:02:55 +00:00
63 lines
3.0 KiB
Markdown
63 lines
3.0 KiB
Markdown

|
|
|
|
[](https://travis-ci.org/tantivy-search/tantivy)
|
|
[](https://coveralls.io/github/tantivy-search/tantivy?branch=master)
|
|
[](https://gitter.im/tantivy-search/tantivy?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
[](https://opensource.org/licenses/MIT)
|
|
[](https://ci.appveyor.com/project/fulmicoton/tantivy)
|
|

|
|
|
|
**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, MacOS and Windows.
|
|
|
|
|
|
# Getting started
|
|
|
|
- [tantivy's usage example](http://fulmicoton.com/tantivy-examples/simple_search.html)
|
|
- [tantivy-cli and its tutorial](https://github.com/tantivy-search/tantivy-cli).
|
|
It will walk you through getting a wikipedia search engine up and running in a few minutes.
|
|
- [reference doc]
|
|
- [For the last released version](https://docs.rs/tantivy/)
|
|
- [For the last master branch](https://tantivy-search.github.io/tantivy/tantivy/index.html)
|
|
|
|
# Compiling
|
|
|
|
Tantivy requires Rust Nightly because it uses requires the features [`box_syntax`](https://doc.rust-lang.org/stable/book/box-syntax-and-patterns.html), [`optin_builtin_traits`](https://github.com/rust-lang/rfcs/blob/master/text/0019-opt-in-builtin-traits.md), and [`conservative_impl_trait`](https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md).
|
|
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 git@github.com: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.
|