bionic (1) bloom.1.gz

Provided by: golang-github-dcso-bloom-cli_0.2.0-1_amd64 bug

NAME

       bloom - utility to work with Bloom filters

SYNOPSIS

       bloom [global options] command [command options] [arguments...]

DESCRIPTION

       This is the main tool to interact with Bloom filters, e.g. to create, fill and query them.

BASIC USAGE

       To  create  a  new  Bloom  filter  with  a  desired  capacity and false positive probability, you can use
       `create`:

           #will create a gzipped Bloom filter with 100.000 capacity and a 0.1 % false positive probability
           bloom --gzip create -p 0.001 -n 100000 test.bloom.gz

       To insert values, you can use the insert command and pipe some input to it (each line will be treated  as
       one value):

           cat values | bloom --gzip insert test.bloom.gz

       You can also interactively add values to the filter by specifying the --interactive option:

           bloom --gzip --interactive insert test.bloom.gz

       To check if a given value or a list of values is in the filter, you can use `check`:

           cat values | bloom --gzip check test.bloom.gz

       This will return a list of all values in the filter.

ADVANCED USAGE

       Sometimes  it  is  useful  to attach additional information to a string that we want to check against the
       Bloom filter, such as a timestamp or the original line content. To make  passing  along  this  additional
       information  easier  within  a  shell  context, the Bloom tool provides an option for splitting the input
       string by a given delimiter and checking the filter against the resulting field values.

           # will check the Bloom filter for the values foo, bar and baz
           cat "foo,bar,baz" | bloom -s filter.bloom

           # uses a different delimiter (--magic-delimiter--)
           cat "foo--ac5ba--bar--ac5ba--baz" | bloom  -d "--ac5ba--" -s filter.bloom

           # will check the Bloom filter against the second field value only
           cat "foo,bar,baz" | bloom -f 1 -s filter.bloom

           # will check the Bloom filter against the second and third field values only
           cat "foo,bar,baz" | bloom -f 1,2 -s filter.bloom

           # will print one line for each field value that matched against the filter
           cat "foo,bar,baz" | bloom -e -s filter.bloom

           # will print the last field value for each line whose fields matched against the filter
           cat "foo,bar,baz" | bloom -e -s --pf -1 filter.bloom

       This functionality is especially handy when using CSV data, as it  allows  you  to  filter  CSV  rows  by
       checking  individual  columns  against  the  filter  without  having  to  use external tools to split and
       reassemble the lines.

COMMANDS

       * create
              Create a new Bloom filter and store it in the given file.

       * insert
              Inserts new values into an existing Bloom filter.

       * join, merge
              Joins two Bloom filters into one.

       * check
              Checks values against an existing Bloom filter.

       * set-data
              Sets the data associated with the Bloom filter.

       * get-data
              Prints the data associated with the Bloom filter.

       * show Shows various details about a given Bloom filter.

       * help Shows a list of commands or help for one command

OPTIONS

       --gzip, --gz
              compress bloom file with gzip

       --interactive, -i
              interactively add values to the filter

       --split, -s
              split the input string

       --each, -e
              print each match of a split string individually

       --delimiter value, -d value
              delimiter to use for splitting (default: ",")

       --fields value, -f value
              fields of split output to use in filter (a single number or a  comma-separated  list  of  numbers,
              zero-indexed)

       --print-fields value, --pf value
              fields  of split output to print for a successful match (a single number or a comma-separated list
              of numbers, zero-indexed).

       --help, -h
              show help

       --version, -v
              print the version