帮忙优化或者简化一下go from语句,第一次用,写的好像复杂了

提问参考模版:

  • nebula 版本:3.4.1
    image

  • 部署方式: 单机

  • 安装方式:RPM

  • 是否上生产环境: N

写了一个go from 查询语句但感觉运行速度太慢,想请大佬们帮忙优化一下,第一次写go from语句不太熟练。
大致上是从一部电影出发,通过类别查询推荐电影,然后根据电影类别的jaccard相似度排序后返回,感觉写的太复杂了

go from "1" over * YIELD dst(edge) as g,src(edge) as m 
| GO from $-.g over * reversely yield src(edge) as recomm , $-.m as m,$-.g as g 
| group by $-.m,$-.recomm YIELD $-.m as m,$-.recomm as recomm,tofloat(size(COLLECT($-.g))) as size 
|go from $-.m over * YIELD dst(edge) as g,src(edge) as m,$-.recomm as recomm,$-.size as size
|group by $-.m,$-.recomm,$-.size YIELD $-.m as m,$-.recomm as recomm,COLLECT($-.g) as set_a,$-.size as size
|go from $-.recomm over * YIELD dst(edge) as g,$-.m as m,$-.recomm as recomm ,$-.size as size,$-.set_a as set_a
|group by $-.m,$-.recomm ,$-.size,$-.set_a  YIELD $-.recomm as recomm,$-.set_a as set_a,$-.size as size,$-.size/size(toSet($-.set_a + COLLECT($-.g))) AS jaccard
|yield  $-.recomm as recomm,$-.jaccard as jaccard
| order by $-.jaccard DESC

建议先 profile 看下

result.csv (8.9 KB)
看不太明白这个文件

你可以看这篇文章了解下如何看执行计划。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。