17 #ifndef JUBATUS_CORE_RECOMMENDER_LSH_HPP_
18 #define JUBATUS_CORE_RECOMMENDER_LSH_HPP_
23 #include "jubatus/util/data/serialization.h"
24 #include "jubatus/util/lang/shared_ptr.h"
30 template <
typename Model,
typename Diff>
31 class linear_mixable_helper;
38 namespace recommender {
49 ar & JUBA_MEMBER(hash_num);
53 explicit lsh(uint64_t hash_num);
54 explicit lsh(
const config& config);
60 std::vector<std::pair<std::string, float> >& ids,
61 size_t ret_num)
const;
64 std::vector<std::pair<std::string, float> >& ids,
65 size_t ret_num)
const;
70 std::string
type()
const;
75 void unpack(msgpack::object o);
85 jubatus::util::data::unordered_map<std::string, std::vector<float> >
88 jubatus::util::lang::shared_ptr<storage::mixable_bit_index_storage>
98 #endif // JUBATUS_CORE_RECOMMENDER_LSH_HPP_
void similar_row(const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
void pack(framework::packer &packer) const
void unpack(msgpack::object o)
void get_all_row_ids(std::vector< std::string > &ids) const
void update_row(const std::string &id, const sfv_diff_t &diff)
void neighbor_row(const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
core::common::sfv_t sfv_diff_t
void generate_column_bases(const common::sfv_t &v)
framework::linear_mixable_helper< bit_index_storage, bit_table_t > mixable_bit_index_storage
framework::mixable * get_mixable() const
void clear_row(const std::string &id)
void generate_column_base(const std::string &column)
msgpack::packer< jubatus_packer > packer
jubatus::util::data::unordered_map< std::string, std::vector< float > > column2baseval_
void calc_lsh_values(const common::sfv_t &sfv, storage::bit_vector &bv) const
std::vector< std::pair< std::string, float > > sfv_t
jubatus::util::lang::shared_ptr< storage::mixable_bit_index_storage > mixable_storage_