使用Solr和Mahout的推荐系统

时间:2012-11-28 01:26:30

标签: java architecture solr mahout

我一直在阅读有关使用Solr和Mahout开发推荐系统的信息。

据我了解,他们处理两个不同的问题。

  1. 由于Solr是一个搜索引擎+分类系统,它主要用于“更像这样”的推荐 在Drupal - http://jamidwyer.com/d7/node/21
  2. (或StackOverflow中的“相关”功能)

    1. 在Mahout的情况下,它实现了像Collaborative Filtering这样的机器学习算法。它可以用来 根据用户以前的操作实施亚马逊建议等功能。(喜欢,买的商品)
    2. 我的问题,

      他们习惯于解决两个不同的问题吗?

      他们可以整合吗?

      我读过Mahout的离线处理和可扩展性。这是否意味着Solr无法扩展?

3 个答案:

答案 0 :(得分:11)

这些是针对不同问题的不同工具。 Solr并没有真正提出建议,它建议基于内容的类似文件。在与用户无关的意义上,这不是个性化的。这个问题非常好。

Taste / Mahout用于协作过滤,这不是特定于文档或任何其他类型的事物,并且在“类似项目”中至关重要,并且建议基于用户项交互,而不是项属性。

根据您的需要和意思,两者都可以很好地扩展。没有理由怀疑索尔。

关于Mahout和推荐人,简而言之,它有两部分。一件(Taste)是实时的,而不是基于Hadoop的,并且在一台机器上扩展到适度数据集(可能是10M数据点)。然后,Mahout添加了一个基于Hadoop,非实时的批量实现,可以扩展更大。 (广告:我是上述的主要作者,我正在开发基于名为Myrrix的下一代系统。如果您对可扩展和实时Mahout风格感兴趣,它会很有吸引力推荐者。)

如果您对基于上述内容的公司(包括Solr)感兴趣,您应该查看NGDATA

答案 1 :(得分:3)

你是对的,他们解决了两个不同的问题,到目前为止,我还没有看到/发现任何现有的集成,这些集成开箱即用。

您可以做的是使用Mahout分类结果向索引文档中添加更多信息,然后将其用于提升目的。

关于你的最后一个答案--Solr可以扩展,使用刚刚发布的4.0版,它甚至可以比以前更好地扩展。但它解决了不同的目的并且可以很好地扩展它。

你的问题有点不明确,所以我希望这会有所帮助。

干杯

答案 2 :(得分:3)

如果您愿意亲自动手,您实际上可以使用Solr + Collaborative Filtering制作一个非常甜蜜的搜索感知推荐系统。也就是说,给定搜索S并给出搜索者的购买历史P_i并给出其他人的购买历史P_j,其中j≠i。然后,您可以返回满足搜索S的结果,但会根据搜索者可能会根据其他类似用户所喜欢的项目来提升这些结果。

这是我写的一篇博文,可以指出你正确的方向:http://opensourceconnections.com/blog/2013/10/05/search-aware-product-recommendation-in-solr/