【发布时间】:2012-08-14 08:46:12
【问题描述】:
Solr/Lucene 为全文搜索提供相关性分数,Mahout 为用户提供项目推荐以及偏好分数。
现在我让 Solr 和 Mahout 分别工作:当用户搜索查询字符串时,Solr 处理搜索并根据其分数返回 10 个结果。如何将 Mahout 和 Solr 集成在一起,以根据另一个评分系统(如 0.5*Solr 的分数 + 0.5*Mahout 的分数)提供前 10 个结果或后 10 个结果。
问题:现在似乎不太理想,首先搜索按新评分排序的第 11 到第 20 个项目,Solr 必须获取其数据库中所有项目的分数, Mahout 获取其数据库中所有项目的分数,计算结果分数并采取措施。
有没有更好的办法?
【问题讨论】:
-
您对 mahout 有哪些建议?基于用户还是基于项目?我的想法是:对于基于项目的推荐(如果不是太多),您可以创建项目相似度矩阵,然后将其索引到 solr(每天或随时),然后您的所有查询都直接转到 solr,您将获得用户品味向量并使用 solr 进行推荐(除了您在 solr 中已有的任何其他评分系统)
标签: apache solr lucene mahout recommendation-engine