23 #include "../storage/column_table.hpp"
28 using jubatus::util::lang::shared_ptr;
32 namespace nearest_neighbor {
35 shared_ptr<storage::column_table> table,
36 const std::string&
id)
38 mixable_table_(new framework::mixable_versioned_table) {
45 ret.reserve(table->size());
46 for (
size_t i = 0; i < table->size(); ++i) {
47 ret.push_back(table->get_key(i));
58 vector<pair<string, float> >& ids,
59 uint64_t ret_num)
const {
61 for (
size_t i = 0; i < ids.size(); ++i) {
67 const string& query_id,
68 vector<pair<string, float> >& ids,
69 uint64_t ret_num)
const {
71 for (
size_t i = 0; i < ids.size(); ++i) {
virtual float calc_similarity(float distance) const
jubatus::util::lang::shared_ptr< storage::column_table > get_table()
jubatus::util::lang::shared_ptr< framework::mixable_versioned_table > mixable_table_
void pack(framework::packer &packer) const
virtual void neighbor_row(const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, uint64_t ret_num) const =0
void get_all_row_ids(std::vector< std::string > &ids) const
msgpack::packer< jubatus_packer > packer
std::vector< std::pair< std::string, float > > sfv_t
void unpack(msgpack::object o)
jubatus::util::lang::shared_ptr< const storage::column_table > get_const_table() const
nearest_neighbor_base(jubatus::util::lang::shared_ptr< storage::column_table > table, const std::string &id)
virtual void similar_row(const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, uint64_t ret_num) const
framework::mixable * get_mixable() const