微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Neo4j 获取带有评论和喜欢的朋友帖子

如何解决Neo4j 获取带有评论和喜欢的朋友帖子

我是 neo4j 的新手,并尝试进行查询获取以下内容

  • 用户未见过且非私密的朋友的所有故事
  • 朋友对该故事的评论
  • 喜欢这个故事的朋友

我的查询如下所示:

Match (P:User {id: 5})
Match (a:Story)-[BEL_TO]->(P2: User)-[:FRI]-(P)
Where not (P)-[:SEEN]->(a) AND NOT a.priv = "bf"
optional Match (a)<-[:LIKE]-(P3: User)-[:FRI]-(P)
with a,COLLECT({id: P3.id,name: P3.name}) as flikes
optional Match (a)<-[:COM_ON]-(com:Com)-[:BEL_TO]->(P4: User)-[:FRI]-(P) 
RETURN a.id as id,flikes,COLLECT({id: P4.id,name: P4.name,comment: com}) as fcomments
LIMIT 35

当我运行这个查询时,我得到了我想要的结果,但我在以下场景中测试了这个查询

  • 1000 个“新”帖子(没有看到任何关系)
  • 每个帖子有 50 个赞和评论
  • 用户有 1000 个朋友

查询大约需要 1500 毫秒

有没有办法让这个查询更高效/更快?

我想到的事情:

  • 添加索引(但不知道在哪里)
  • 使用“join on a”(但在 neo4j 中出错)

提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。