8000 GitHub - changun/keyvi: Keyvi - the key value index. It is an in-memory FST-based data structure highly optimized for size and lookup performance.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ keyvi Public
forked from KeyviDev/keyvi

Keyvi - the key value index. It is an in-memory FST-based data structure highly optimized for size and lookup performance.

License

Notifications You must be signed in to change notification settings

changun/keyvi

 
 

Repository files navigation

Travis C++ PythonVersions PythonImpl PythonFormat PyPIVersion Coveralls

Keyvi

Keyvi - the short form for "Key value index" is a key value store (KVS) optimized for size and lookup speed. The usage of shared memory makes it scalable and resistant. The biggest difference to other stores is the underlying data structure based on finite state machine. Storage is very space efficient, fast and by design makes various sorts of approximate matching be it fuzzy string matching or geo highly efficient. The immutable FST data structure can be used stand-alone for static datasets. If you need online writes, you can use keyvi index, a near realtime index. The index can be used as embedded key value store, e.g. if you already have a network stack in your application. A out of the box network enabled store is available with keyvi-server.

This is the continuation of cliqz-oss/keyvi. Keyvi was initially developed at Cliqz by Hendrik Muhs and others. For more information, please refer to https://github.com/cliqz-oss/keyvi

Introduction

Install

Quick

Precompiled binary wheels are available for OS X and Linux on PyPi. To install use:

pip install keyvi

From Source

The core part is a C++ header-only library, but the TPIE 3rdparty library needs to be compiled once. The commandline tools are also part of the C++ code. For instructions check the Readme file.

For the python extension of keyvi check the Readme file in the python subfolder.

Usage

Internals

If you like to go deep down in the basics, keyvi is inspired by the following 2 papers:

Release procedure

Licence and 3rdparty dependencies

keyvi is licenced under apache license 2.0, see licence for details.

In addition keyvi uses 3rdparty libraries which define their own licence. Please check their respective licence. The 3rdparty libraries can be found at keyvi/3rdparty.

About

Keyvi - the key value index. It is an in-memory FST-based data structure highly optimized for size and lookup performance.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 81.5%
  • Python 12.3%
  • Rust 2.3%
  • CMake 1.4%
  • Shell 1.2%
  • C 0.9%
  • Other 0.4%
0