| @menu |
| cass_init |
| cass_describe |
| cass_add_vec_dist |
| cass_add_vec_set_dist |
| cass_add_cfg |
| cass_add_map |
| cass_add_table |
| cass_add_sketch |
| cass_query |
| cass_import |
| cass_export |
| @end menu |
| |
| @node cass_init |
| @section @command{cass_init} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_init <@var{path}>} |
| @item @emph{Description:} |
| Creat a database in the given directory. |
| @item @emph{Options:} |
| @table @gcctabopt |
| @item @var{path} |
| The path to where to create the database. |
| @end table |
| @end table |
| |
| @node cass_describe |
| @section @command{cass_describe} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_describe <@var{path}>} |
| @item @emph{Description:} |
| Dump textual description of the database. |
| @item @emph{Options:} |
| |
| @table @gcctabopt |
| @item @var{path} |
| The database directory. |
| @end table |
| @end table |
| |
| |
| @node cass_add_vec_dist |
| @section @command{cass_add_vec_dist } |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_add_vec_dist <@var{path}> <@var{name}> <@var{class}> <@var{param}>} |
| @item @emph{Description:} |
| Add a vector distance to the databse. |
| @item @emph{Options:} |
| @table @gcctabopt |
| @item @var{path} |
| The database directory. |
| @item @var{name} |
| The name of the distance to add. |
| @item @var{class} |
| The name of the class of the distance. |
| @item @var{param} |
| Parameters to the construct method of the class. |
| @end table |
| @end table |
| |
| |
| @node cass_add_vec_set_dist |
| @section @command{cass_add_vec_set_dist} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_add_vec_set_dist <@var{path}> <@var{name}> <@var{class}> <@var{param}>} |
| @item @emph{Description:} |
| Add a vecset distance to the database. |
| @item @emph{Options:} |
| |
| @table @gcctabopt |
| @item @var{path} |
| The database directory. |
| @item @var{name} |
| The name of the distance to add. |
| @item @var{class} |
| The name of the class of the distance. |
| @item @var{param} |
| Parameters to the construct method of the class. |
| @end table |
| @end table |
| |
| |
| @node cass_add_cfg |
| @section @command{cass_add_cfg} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_add_cfg <@var{path}> <@var{cfg name}> <@var{vecset type}> <@var{vec |
| type}> <@var{dim}>} |
| @item @emph{Description:} |
| Add a vecset configuration to the database. |
| @item @emph{Options:} |
| |
| @table @gcctabopt |
| @item @var{path} |
| The database. |
| @item @var{cfg name} |
| Name of the configuration to add. |
| @item @var{vecset type} |
| The vecset type, can be the following values. |
| @table @code |
| @item 1 |
| For @code{CASS_VECSET_SINGLE}. |
| @item 2 |
| For @code{CASS_VECSET_SET}. |
| @end table |
| @item @var{vec type} |
| The vector type, can be the following values. |
| @table @code |
| @item int |
| @item float |
| @item bit |
| @end table |
| @item @var{dim} |
| Dimension of feature vector. |
| @end table |
| @end table |
| |
| |
| @node cass_add_map |
| @section @command{cass_add_map} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_add_map <@var{path}> <@var{map name}> <@var{param}>} |
| @item @emph{Description:} |
| Add a map to the database. |
| @item @emph{Options:} |
| @table @gcctabopt |
| @item @var{path} |
| The database. |
| @item @var{map name} |
| Name of the map to add. |
| @item @var{param} |
| Can be one of the following values. |
| @table @code |
| @item direct |
| The external ID are sequential integers start from 0 and do not require mapping. |
| @item indirect |
| The external ID are strings and require to be converted to sequential integers |
| for internal usage. |
| @end table |
| @end table |
| @end table |
| |
| |
| @node cass_add_table |
| @section @command{cass_add_table} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_add_table <@var{path}> <@var{table name}> <@var{cfg}> <@var{map}>} |
| @item @emph{Description:} |
| Add a table to the database. |
| @item @emph{Options:} |
| @table @gcctabopt |
| @item @var{path} |
| The database. |
| @item @var{table name} |
| Name of the table. |
| @item @var{cfg} |
| Name of the configuration to use for the table. |
| @item @var{map} |
| Name of the map to use for the table. |
| @end table |
| @end table |
| |
| |
| @node cass_add_sketch |
| @section @command{cass_add_sketch} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_add_sketch} |
| @item @emph{Description:} |
| |
| @item @emph{Options:} |
| |
| @table @gcctabopt |
| @end table |
| @end table |
| |
| |
| @node cass_query |
| @section @command{cass_query} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_query <@var{path}> <@var{table}> <@var{benchmark}> <@var{#query}> |
| <@var{K}> <@var{T1}> <@var{T2}> [@var{extra1}] [@var{extra2}]} |
| @item @emph{Description:} |
| The table parameter should be like "shape@@sketch2", which indicates the database |
| to use the sketch. If "shape" is used, then sketch will not be used and linear |
| scan will be carried out. |
| |
| The query algorithm works in the following way: |
| |
| 1. @var{T1} candidates are found using the sketch algorithm. If @var{extra1} presents, it |
| is passed to the sketch query algorithm. |
| 2. The candidates are further filtered using the sketch algorithm, with the best |
| @var{T2} candidates left. If @var{extra2} presents, it is passed to the sketch query |
| algorithm. |
| |
| The benchmark files use true K-NN's found by linear scan as ground truth. |
| |
| Examples are |
| |
| ../cass_run_query all shape@@sketch2 ~/data/query_shape 100 100 2000 1000 "" |
| "-asym" |
| |
| This will first use the sketch to find 2000 candidate, and then use asymmetric |
| method to refine the candidate set to 1000 candidates. |
| |
| For now, the benchmark file has 10000 queries, each with 200 nearest neighbors, |
| so you need to make sure that <# query> <= 10000 && <top k> <= 200. |
| |
| @item @emph{Options:} |
| |
| @table @gcctabopt |
| @end table |
| @end table |
| |
| |
| @node cass_import |
| @section @command{cass_import} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_import <@var{path}> <@var{table}> <@var{input}>} |
| @item @emph{Description:} |
| Import external data to a table |
| @item @emph{Options:} |
| |
| @table @gcctabopt |
| @item @var{path} |
| The database. |
| @item @var{table} |
| The table to import data to. |
| @item @var{input} |
| The path to the input file. |
| @end table |
| @end table |
| |
| |
| @node cass_export |
| @section @command{cass_export} |
| @table @asis |
| @item @emph{Synopsis:} |
| @code{cass_export <@var{path}> <@var{table}> <@var{ouput}>} |
| @item @emph{Description:} |
| Dump the data of a table to a text file. |
| @item @emph{Options:} |
| |
| @table @gcctabopt |
| @item @var{path} |
| The database. |
| @item @var{table} |
| The table to export. |
| @item @var{output} |
| The output file name. |
| @end table |
| @end table |
| |
| |
| |