Coder Social home page Coder Social logo

tantivy's Introduction

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 strongly inspired by Lucene's design.

Features

  • Tiny startup time (<10ms), perfect for command line tools
  • tf-idf scoring
  • Basic query language
  • Phrase queries
  • Incremental indexing
  • Multithreaded indexing (indexing English Wikipedia takes < 3 minutes on my desktop)
  • Mmap directory
  • optional SIMD integer compression
  • Single valued and multivalued u64 and i64 fast fields (equivalent of doc values in Lucene)
  • LZ4 compressed document store
  • Range queries
  • Faceting
  • configurable indexing (optional term frequency and position indexing
  • Cheesy logo with a horse

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 [email protected]:tantivy-search/tantivy.git
cd tantivy
cargo build

Note on release build and performance

If your project depends on tantivy, for better performance, make sure to enable sse3 instructions using a RUSTFLAGS. (This instruction set is likely to be available on most x86_64 CPUs you will encounter).

For instance,

RUSTFLAGS='-C target-feature=+sse3'

Or, if you are targetting a specific cpu

RUSTFLAGS='-C target-cpu=native' build --release

Regardless of the flags you pass, by default tantivy will contain SSE3 instructions. If you want to disable those, you can run the following command :

cargo build --no-default-features

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.

tantivy's People

Contributors

aheart avatar ameobea avatar celaus avatar currymj avatar drusellers avatar dylan-dpc avatar ehiggs avatar fiedzia avatar fulmicoton avatar jason-wolfe avatar kaedroho avatar king6cong avatar kodraus avatar lnicola avatar manuel-woelker avatar rclaude avatar vandenoever avatar white-oak avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.