我一直在阅读有关使用Solr和Mahout开发推荐系统的信息。
据我了解,他们处理两个不同的问题。
- 由于Solr是一个搜索引擎+分类系统,它主要用于"更像这样"之类的推荐。 在德鲁帕尔 - http://jamidwyer.com/d7/node/21.
(或 StackOverflow 中的"相关"功能)
- 在Mahout的情况下,它实现了机器学习算法,如协作 Filtering.It 可用于 根据用户以前的操作在亚马逊中实施建议等功能。(喜欢,购买的商品)
我的问题 ,
它们是否用于解决两个不同的问题?
它们可以集成吗?
我读到Mahout进行离线处理和可扩展。这是否意味着 Solr 无法扩展?
这些是针对不同问题的不同工具。Solr并没有真正提出建议,它根据内容建议类似的文档。从某种意义上说,这不是个性化的,因为它与用户无关。它非常擅长这个特定问题。
Taste/Mahout用于协作过滤,它不特定于文档或任何其他类型的东西,并且在"类似项目"方面有很大的不同,推荐是基于用户-项目交互,而不是项目属性。
两者都可以很好地扩展,具体取决于您的需求和含义。没有理由怀疑索尔。
关于驯象师和推荐器,简而言之,它有两部分。One piece(Taste)是实时的,不是基于Hadoop的,并且可以在一台机器上扩展到中等数据集(可能是1000万个数据点)。然后,Mahout添加了一个基于Hadoop的非实时批处理实现,可以扩展得更大。(广告:我是上述内容的主要作者,正在开发基于两者的下一代系统,称为Myrrix。如果您对可扩展和实时 Mahout 风格的推荐器感兴趣,它将很有吸引力。
如果您对一家基于上述平台(包括Solr)的公司感兴趣,您应该查看NGDATA。
你是对的,它们解决了两个不同的问题,到目前为止,我还没有看到/找到任何开箱即用的现有集成。
您可以做的是使用 Mahout 分类结果将更多信息添加到索引文档中,然后可用于提升目的。
关于您的最后一个答案 - Solr 可以扩展,使用刚刚发布的 4.0 版本,它甚至可以比以前更好地扩展。但它解决了不同的目的,并很好地扩展了它。
你的问题有点不具体,所以我希望这在某种程度上有所帮助。
干杯
如果你愿意动手,你实际上可以使用Solr +协同过滤来制作一个非常甜蜜的搜索感知推荐系统。也就是说,给定搜索S
并给定搜索者的购买历史记录P_i
并给定其他人的购买历史记录P_j
j≠i
的位置。然后,您可以返回满足搜索S
但根据搜索者可能喜欢的项目(基于其他类似用户)提升的结果。
这是我写的一篇博客文章,可以为你指出正确的方向:http://opensourceconnections.com/blog/2013/10/05/search-aware-product-recommendation-in-solr/