/tulip

Simple stable bloomfilter web service

Primary LanguageGoMIT LicenseMIT

tulip - Simple stable bloomfilter web service

A simple go web service implementing SBF

Stable Learned Bloom Filters for Data Streams

More about setting filter values: https://hur.st/bloomfilter/

Usage

tulip -port 8080 -address 127.0.0.1 -state filterstate.json

Methods

POST

New

Create a new filter named name

  • filtersize number of cells in filter - m
  • hashfunctions number of hash functions - k
  • decay number of random deletes before insert
  • max max cell value
/bloom/new/<name>/<filtersize>/<hashfunctions>/<decay>/<max>

Add

Add a single value to filter. Value kan be anything, will be hashed k times with murmur3

/bloom/add/<name>/<value>

AddIfNotSet

Add single value to filter if value not exists in filter. Will not run random delete if value exists.

/bloom/addifnotset/<name>/<value>

Poster

Add multiple values to filter

/bloom/poster/<name>

Eg. filename.txt

value1
value2
value3
curl -X POST http://127.0.0.1:8080/bloom/poster/filtername --data-binary @filename.txt

Reset

Set all values in filter to zero

/bloom/reset/<name>

Destroy

Remove filter

/bloom/destroy/<name>

GET

Test

Check if value is present in filter

/bloom/test/<value>

List

List filters

/bloom/list

Info

Get info about filter

/bloom/info/<name>

Debug

Get debug info about filter

/bloom/debug/<name>

Save

Force saving of filterstate to disk

/bloom/save

Load

Force reload of filterstate from disk

/bloom/load