用于 trie 的数据库,或用于推荐引擎的其他适当结构

数据挖掘 大数据 推荐系统 数据库
2021-10-08 20:59:27

我们正在存储对我们的商品表现出兴趣的用户的信息。基于这些信息,我们想创建一个简单的推荐引擎,它将获取当前用户的项目 I1、I2、I3 等,搜索所有其他对这些项目表现出兴趣的用户,然后输出项目 I4,其他用户的 I5、I6 等,按其受欢迎程度的下降排序。因此,基本上,标准的“其他买家也对......”功能感兴趣。

我在问自己什么样的数据库适合这样的实时推荐引擎。我目前的想法是构建一个项目 ID 的树,然后对当前用户的项目 ID 进行排序(因为项目的顺序无关紧要)并沿着树下去;最后一个 trie 节点的子节点将构建所需的输出。

问题是我们有 200 万个项目,因此根据我们的估计,trie 将至少有 1E12 个节点,因此我们可能需要一个分布式分片数据库来存储它。在我们重新发明轮子之前,是否有任何现成的数据库或一般的推荐引擎的非云解决方案?

1个回答

看看Apache Mahout最新版本还具有基于用户项目的推荐器。