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/
tulip -port 8080 -address 127.0.0.1 -state filterstate.json
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 a single value to filter. Value kan be anything, will be hashed k times with murmur3
/bloom/add/<name>/<value>
Add single value to filter if value not exists in filter. Will not run random delete if value exists.
/bloom/addifnotset/<name>/<value>
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
Set all values in filter to zero
/bloom/reset/<name>
Remove filter
/bloom/destroy/<name>
Check if value is present in filter
/bloom/test/<value>
List filters
/bloom/list
Get info about filter
/bloom/info/<name>
Get debug info about filter
/bloom/debug/<name>
Force saving of filterstate to disk
/bloom/save
Force reload of filterstate from disk
/bloom/load