GENIE
single_range.cc
Go to the documentation of this file.
5 #include "validation.h"
6 #include "single_range.h"
7 
8 using namespace std;
9 using namespace genie;
10 
11 shared_ptr<genie::table::inv_table> genie::execution_policy::SingleRangeExecutionPolicy::BuildTable(const TableData& table_data)
12 {
13  dim_ = table_data.at(0).size();
14 
15  return table::BuildTable(table_data);
16 }
17 
18 vector<genie::query::Query> genie::execution_policy::SingleRangeExecutionPolicy::BuildQuery(const shared_ptr<const genie::table::inv_table>& table,
19  const QueryData& query_data)
20 {
21  return query::LoadQuery(table, query_data, query_range_, k_);
22 }
23 
24 SearchResult genie::execution_policy::SingleRangeExecutionPolicy::Match(const shared_ptr<const genie::table::inv_table>& table,
25  const vector<genie::query::Query>& queries)
26 {
27  return matching::Match(table, queries, dim_, k_);
28 }
29 
30 SearchResult genie::execution_policy::SingleRangeExecutionPolicy::Match(const vector<shared_ptr<const genie::table::inv_table> >& table,
31  const vector<vector<genie::query::Query> >& queries)
32 {
34 }
35 
37 {
38  query_range_ = query_range;
39 }
40 
42 {
43  ExecutionPolicy::Validate();
45 }
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.
Definition: types.h:16
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.
Definition: types.h:12
virtual std::shared_ptr< genie::table::inv_table > BuildTable(const genie::TableData &table_data) override final
Builds the inverted index with the given data.
Definition: single_range.cc:11
void ValidateQueryRange(uint32_t query_range)
Definition: validation.cc:19
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.
Definition: single_range.cc:18
void SetQueryRange(const uint32_t query_range)
Definition: single_range.cc:36
std::pair< std::vector< int >, std::vector< int > > SearchResult
Matching result (top K&#39;s ID and count).
Definition: types.h:20
virtual void Validate() override final
Checks whether the given search parameters are in valid range.
Definition: single_range.cc:41
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)
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.