我正在尝试使用apache mahout
的rails
构建推荐引擎,但是我很难弄清楚起点。
我有一个简单的rails 4.2.1
应用程序,其中包含Postgres数据库,该数据库使用Active Record
,托管在Heroku上。
阅读Mahout,似乎我可以使用JDBCDATAMODEL接口获取我的推荐引擎的数据,这意味着我可能需要
- 将我的Ruby-on-on-con-lails项目更改为
JRuby-on-rails
项目, - 使用
[activerecord-jdbc-adapter][1]
与Mahout图书馆进行通信,我必须将其包括在我的Rails项目中。
假设我使所有这些作品都有效,那么我将
- 在Jruby脚本中使用Mahout的API写下我的推荐人,
- 使用
Resque
运行此脚本作为后台作业,该脚本将继续根据用户操作计算建议。
这个架构看起来听起来吗?还是我应该从轨道移动到Java服务器?
我在铁轨上非常舒适,只使用Java来构建简单的Android应用,而Rails/Node作为后端。
您是否看过prediconio?他们有几个推荐人在Spark上构建,并包括Ruby SDK。检查他们的模板画廊并检查其Ruby SDK。
Mahout有一个新的推荐组件,该组件旨在与搜索引擎一起使用。如果您想要一些非常灵活的东西,可以在Mahout网站上查看。这将取决于您如何集成搜索引擎,因为Mahout模型需要用一个模型索引,并且通过搜索查询返回REC。
我相信Mahout版本也是预测中正在进行的工作。
顺便说一句,这些都是在火花上构建的,不要使用Mahout的旧Hadoop MapReduce版本。它们都允许您使用自己的特定于应用程序的用户和项目ID,较旧的Mahout推荐人要求您维护映射进出Mahout ID。这些还允许实时收集使用数据的实时服务。