60 if (name ==
"inverted_index") {
62 return shared_ptr<recommender_base>(
new inverted_index);
63 }
else if (name ==
"minhash") {
64 return shared_ptr<recommender_base>(
65 new minhash(config_cast_check<minhash::config>(param)));
66 }
else if (name ==
"lsh") {
67 return shared_ptr<recommender_base>(
68 new lsh(config_cast_check<lsh::config>(param)));
69 }
else if (name ==
"euclid_lsh") {
70 return shared_ptr<recommender_base>(
71 new euclid_lsh(config_cast_check<euclid_lsh::config>(param)));
72 }
else if (name ==
"nearest_neighbor_recommender") {
73 nearest_neighbor_recommender_config conf =
74 config_cast_check<nearest_neighbor_recommender_config>(param);
75 shared_ptr<storage::column_table> table(
new storage::column_table);
76 shared_ptr<nearest_neighbor::nearest_neighbor_base>
78 conf.method, conf.parameter, table,
id));
80 if (!conf.unlearner_parameter) {
83 "unlearner is set but unlearner_parameter is not found"));
86 *conf.unlearner, common::jsonconfig::config(
87 *conf.unlearner_parameter)));
88 return shared_ptr<recommender_base>(
89 new nearest_neighbor_recommender(nearest_neighbor_engine, unl));
91 return shared_ptr<recommender_base>(
92 new nearest_neighbor_recommender(nearest_neighbor_engine));
shared_ptr< unlearner_base > create_unlearner(const std::string &name, const common::jsonconfig::config &config)
#define JUBATUS_EXCEPTION(e)
error_info< struct error_message_, std::string > error_message
shared_ptr< nearest_neighbor_base > create_nearest_neighbor(const std::string &name, const common::jsonconfig::config &config, shared_ptr< storage::column_table > table, const std::string &id)