A package for creating Spectral Bloom filters for static sites
Project description
Sthir
Search using spectral bloom filters in static sites
Sthir can create memory efficient search feature for your static website. Sthir is equipped with an user friendly command-line interface. In two steps you can build a working search page for your website!
Description
Sthir is a library to create search functionality for your static websites. It scans your html
pages for words and indexes these words in an efficient data structure called Spectral Bloom Filters. Spectral Bloom Filteres differs from regular ones as they can store counts for each hash (it can estimate, at minimum, how many times a hash was indexed). We are using an efficient base 15 decoding to compress and transfer the bloom filters at client side. Our goal can be described with a simple equation:
Less Memory Footprint + Term Frequency Knowledge = Perfect Search Functionality for Static Sites!
Installation
sthir runs on Python 3.5 or above.
Installation with pip via PyPI for OS X , Linux and Windows:
pip install sthir
To check installation run the following command:
sthir -h
If you see the help messages without any error then the installation was successful.
Documentation
Here is a working demo -
Our entire documentation is available in:
License
The library is licensed under MIT License. This project is developed by Parth Parikh, Mrunank Mistry, and Dhruvam Kothari.
Credits
- Spectral bloom filters by Saar Cohen and Yossi Matias. DOI: https://doi.org/10.1145/872757.872787
- Karan Lyons and Sascha Droste for MurmurHash3js.
- Zhuhongk and Nikolas for their code on Is there a pure python implementation of MurmurHash?.
- Data files are derived from the Google Web Trillion Word Corpus, as described by Thorsten Brants and Alex Franz, and distributed by the Linguistic Data Consortium. Subsets of this corpus distributed by Peter Novig. Corpus editing and cleanup by Josh Kaufman.
Contributing
- Fork it (https://github.com/pncnmnp/Spectral-Bloom-Search/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file sthir-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: sthir-0.0.2-py3-none-any.whl
- Upload date:
- Size: 101.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.24.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 072aa9d82f0a6745828030ace4526bf8716d72a85e7208280e83b72ee2192164 |
|
MD5 | eeed72ac3ff552467d0367123f4dfae8 |
|
BLAKE2b-256 | 833ca063b048ba53b2c9296621ef1c2be729cc37c9f931bade2cc1efbde50d92 |