#include <mplsh.h>
Inheritance diagram for lshkit::MultiProbeLshIndex< KEY >:

Public Types | |
|
typedef LshIndex< MultiProbeLsh, KEY > | Super |
| typedef Super::Parameter | Parameter |
| typedef Super::Domain | Domain |
| typedef KEY | Key |
Public Member Functions | |
| MultiProbeLshIndex () | |
| Constructor. | |
| template<typename Engine> | |
| void | init (const Parameter ¶m, Engine &engine, unsigned L) |
| Initialize MPLSH. | |
| void | load (std::istream &ar) |
| Load the index from stream. | |
| void | save (std::ostream &ar) |
| Save to the index to stream. | |
| template<typename SCANNER> | |
| void | query (Domain obj, unsigned T, SCANNER &scanner) |
| Query for K-NNs. | |
| template<typename SCANNER> | |
| void | query_recall (Domain obj, float recall, SCANNER &scanner) const |
| Query for K-NNs, try to achieve the given recall by adaptive probing. | |
| typedef Super::Parameter lshkit::MultiProbeLshIndex< KEY >::Parameter |
Super::Parameter is the same as MultiProbeLsh::Parameter
Reimplemented from lshkit::LshIndex< LSH, KEY >.
| void lshkit::MultiProbeLshIndex< KEY >::init | ( | const Parameter & | param, | |
| Engine & | engine, | |||
| unsigned | L | |||
| ) | [inline] |
Initialize MPLSH.
| param | parameters. | |
| engine | random number generator (if you are not sure about what to use, then pass DefaultRng. | |
| accessor | object accessor (same as in LshIndex). | |
| L | number of hash tables maintained. |
| void lshkit::MultiProbeLshIndex< KEY >::query | ( | Domain | obj, | |
| unsigned | T, | |||
| SCANNER & | scanner | |||
| ) | [inline] |
Query for K-NNs.
| obj | the query object. | |
| scanner |
| void lshkit::MultiProbeLshIndex< KEY >::query_recall | ( | Domain | obj, | |
| float | recall, | |||
| SCANNER & | scanner | |||
| ) | const [inline] |
Query for K-NNs, try to achieve the given recall by adaptive probing.
There's a special requirement for the scanner type used in adaptive query. It should support the following method to return the current K-NNs:
const Topk<KEY> &topk () const;