n1o / tantivy

Tantivy is a full-text search engine library inspired by Lucene and written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tantivy

Build Status Coverage Status Join the chat at https://gitter.im/tantivy-search/tantivy License: MIT Build status

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

Tantivy supports Linux, MacOS and Windows.

Getting started

Compiling

Development

Tantivy now compiles on stable rust. To check out and run test, 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.

About

Tantivy is a full-text search engine library inspired by Lucene and written in Rust

License:MIT License


Languages

Language:Rust 99.7%Language:Shell 0.3%Language:PowerShell 0.1%