12 dim_ = table_data.at(0).size();
24 const vector<genie::query::Query>& queries)
30 const vector<vector<genie::query::Query> >& queries)
SearchResult Match(std::shared_ptr< genie::ExecutionPolicy > &policy, const std::shared_ptr< genie::table::inv_table > &table, const std::vector< genie::query::Query > &queries)
2nd-level interface for matching with pre-built table and queries.
This is the top-level namespace of the project.
std::vector< std::vector< int > > QueryData
Raw query data format used for building the queries.
std::shared_ptr< genie::table::inv_table > BuildTable(std::shared_ptr< genie::ExecutionPolicy > &policy, const TableData &table_data)
2nd-level interface for building table with TableData.
std::vector< std::vector< int > > TableData
Raw table data format used for building the table.
std::pair< std::vector< int >, std::vector< int > > SearchResult
Matching result (top K's ID and count).
virtual genie::SearchResult Match(const std::shared_ptr< const genie::table::inv_table > &table, const std::vector< genie::query::Query > &queries) override final
Match the given queries on the table.
virtual std::shared_ptr< genie::table::inv_table > BuildTable(const genie::TableData &table_data) override final
Builds the inverted index with the given data.
virtual std::vector< genie::query::Query > BuildQuery(const std::shared_ptr< const genie::table::inv_table > &table, const genie::QueryData &query_data) override final
Builds the queries with the given query data.
std::vector< genie::query::Query > LoadQuery(const std::shared_ptr< const genie::table::inv_table > &table, const QueryData &query_data, const uint32_t query_range, const uint32_t k)