我们目前正在评估neo4j作为我们引擎的一部分。 可悲的是,我们的密码查询结果慢得令人无法接受。Neo4J是“获取相关产品”查询的正确选择吗?
所以我们正在考虑从密码转移到java。 难道是创建一个Java插件,它解决了以下问题的可行:以下节点类型中 我们的Neo4j数据库映射关系:
- 产品
- 标签
- 制造商
- 客户
我们的neo4j DB中的每个关系都有一定的成本(例如,产品和Tag_1之间的连接可能比t他连接同一产品和Tag_2,这比产品和特定用户之间的连接成本低)。
我们想找到N(10?20?100?)最相似的产品到某个来源产品。
相似性不仅由两个节点之间路径的短小来定义,而且还由源和目标之间有多少路径来定义。
由于使用密码的性能结果非常糟糕,我们开始质疑Neo4J是否是解决此问题的正确工具。 这里所有Neo4J专家的问题:
似乎可以在Java中创建一个小的路径查找算法,该算法还需要计算两个节点之间的路径数量? 我们需要小于100ms(最大!)的响应时间。
我们的Neo4j服务器看起来像这样的时刻:
- Neo4j的版本:社区2.1.1
- 节点:650000个
- 产品节点:550000
- 性质:8000000
- 关系:6,000,000
- 关系类型:9
在此先感谢您的想法。