24 #include "../common/exception.hpp"
25 #include "../common/vector_util.hpp"
26 #include "../storage/inverted_index_storage.hpp"
34 namespace recommender {
37 : mixable_storage_() {
40 jubatus::util::lang::shared_ptr<ii_storage> p(
new ii_storage);
49 std::vector<std::pair<std::string, float> >& ids,
50 size_t ret_num)
const {
60 vector<pair<string, float> >& ids,
61 size_t ret_num)
const {
63 for (
size_t i = 0; i < ids.size(); ++i) {
64 ids[i].second = 1 - ids[i].second;
74 vector<pair<string, float> > columns;
77 for (
size_t i = 0; i < columns.size(); ++i) {
78 inv.
remove(columns[i].first,
id);
86 for (
size_t i = 0; i < diff.size(); ++i) {
87 inv.
set(diff[i].first,
id, diff[i].second);
96 return string(
"inverted_index");
100 packer.pack_array(2);
106 if (o.type != msgpack::type::ARRAY || o.via.array.size != 2) {
107 throw msgpack::type_error();
framework::mixable * get_mixable() const
void get_row(const std::string &row, std::vector< std::pair< std::string, float > > &columns) const
void set(const std::string &row, const std::string &column, float val)
void unpack(msgpack::object o)
void get_all_row_ids(std::vector< std::string > &ids) const
core::common::sfv_t sfv_diff_t
void pack(framework::packer &packer) const
void neighbor_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 similar_row(const common::sfv_t &query, std::vector< std::pair< std::string, float > > &ids, size_t ret_num) const
void remove(const std::string &row, const std::string &column)
msgpack::packer< jubatus_packer > packer
void update_row(const std::string &id, const sfv_diff_t &diff)
void remove_row(const std::string &row)
core::storage::sparse_matrix_storage orig_
std::vector< std::pair< std::string, float > > sfv_t
jubatus::util::lang::shared_ptr< storage::mixable_inverted_index_storage > mixable_storage_
void set_row(const std::string &row, const std::vector< std::pair< std::string, float > > &columns)
void unpack(msgpack::object o)
void clear_row(const std::string &id)