17 #ifndef JUBATUS_CORE_NEAREST_NEIGHBOR_NEAREST_NEIGHBOR_BASE_HPP_
18 #define JUBATUS_CORE_NEAREST_NEIGHBOR_NEAREST_NEIGHBOR_BASE_HPP_
25 #include "jubatus/util/lang/shared_ptr.h"
26 #include "../common/type.hpp"
27 #include "../framework/mixable_versioned_table.hpp"
28 #include "../framework/mixable.hpp"
35 namespace nearest_neighbor {
40 jubatus::util::lang::shared_ptr<storage::column_table> table,
41 const std::string&
id);
46 jubatus::util::lang::shared_ptr<const storage::column_table>
50 jubatus::util::lang::shared_ptr<storage::column_table>
get_table() {
54 virtual std::string
type()
const = 0;
61 std::vector<std::pair<std::string, float> >& ids,
62 uint64_t ret_num)
const = 0;
64 const std::string& query_id,
65 std::vector<std::pair<std::string, float> >& ids,
66 uint64_t ret_num)
const = 0;
73 std::vector<std::pair<std::string, float> >& ids,
74 uint64_t ret_num)
const;
76 const std::string& query_id,
77 std::vector<std::pair<std::string, float> >& ids,
78 uint64_t ret_num)
const;
81 void unpack(msgpack::object o);
89 jubatus::util::lang::shared_ptr<framework::mixable_versioned_table>
97 #endif // JUBATUS_CORE_NEAREST_NEIGHBOR_NEAREST_NEIGHBOR_BASE_HPP_
virtual std::string type() const =0
virtual void set_row(const std::string &id, const common::sfv_t &sfv)=0
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_
virtual ~nearest_neighbor_base()
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