17 #ifndef JUBATUS_CORE_STORAGE_INVERTED_INDEX_STORAGE_HPP_
18 #define JUBATUS_CORE_STORAGE_INVERTED_INDEX_STORAGE_HPP_
23 #include <msgpack.hpp>
24 #include "jubatus/util/data/unordered_map.h"
26 #include "../common/version.hpp"
27 #include "../common/type.hpp"
28 #include "../common/unordered_map.hpp"
29 #include "../common/key_manager.hpp"
30 #include "../framework/mixable_helper.hpp"
49 void set(
const std::string& row,
const std::string& column,
float val);
50 float get(
const std::string& row,
const std::string& column)
const;
51 void remove(
const std::string& row,
const std::string& column);
57 std::vector<std::pair<std::string, float> >& scores,
58 size_t ret_num)
const;
68 std::string
name()
const;
71 void unpack(msgpack::object o);
79 const std::string& row,
85 const std::string& row,
87 std::vector<float>& scores)
const;
104 #endif // JUBATUS_CORE_STORAGE_INVERTED_INDEX_STORAGE_HPP_
MSGPACK_DEFINE(inv_, inv_diff_, column2norm_, column2norm_diff_, column2id_)
float calc_columnl2norm(uint64_t column_id) const
void calc_scores(const common::sfv_t &sfv, std::vector< std::pair< std::string, float > > &scores, size_t ret_num) const
void unpack(msgpack::object o)
void set(const std::string &row, const std::string &column, float val)
common::key_manager column2id_
MSGPACK_DEFINE(inv, column2norm)
framework::linear_mixable_helper< inverted_index_storage, inverted_index_storage::diff_type > mixable_inverted_index_storage
imap_float_t column2norm_diff_
bool put_diff(const diff_type &mixed_diff)
void pack(framework::packer &packer) const
float get_from_tbl(const std::string &row, uint64_t column_id, const tbl_t &tbl, bool &exist) const
jubatus::util::data::unordered_map< uint64_t, float > imap_float_t
static float calc_l2norm(const common::sfv_t &sfv)
imap_float_t column2norm_
msgpack::packer< jubatus_packer > packer
jubatus::util::data::unordered_map< std::string, float > map_float_t
void get_all_column_ids(std::vector< std::string > &ids) const
sparse_matrix_storage inv
jubatus::util::data::unordered_map< std::string, row_t > tbl_t
std::vector< std::pair< std::string, float > > sfv_t
void mix(const diff_type &lhs_str, diff_type &rhs_str) const
storage::version get_version() const
~inverted_index_storage()
void get_diff(diff_type &diff_str) const
void add_inp_scores(const std::string &row, float val, std::vector< float > &scores) const