多MATCH检索与匹配多个模式

  • nebula 版本:3.1.0
  • 部署方式:分布式
  • 安装方式:Docker
  • 是否为线上版本:N
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息
  • 问题的具体描述
  1. 在3.1.0的文档中关于MATCH的用法,多MATCH检索与匹配多个模式两种使用方法的区别是什么?
  2. 在使用多MATCH的时候,发现相同的查询语句会偶发无数据返回的问题。

例如使用多MATCH 语句

MATCH (custom_le:`CUSTOM`) WHERE (custom_le.`CUSTOM`.`customer_name`=='金角大王')
MATCH (custom_le)-[custom_has_account:`CUSTOM_HAS_ACCOUNT`]->(account_ri:`ACCOUNT`)
RETURN custom_le LIMIT 1000

这条语句会出现偶发的无数据的情况(5,6次就会出现一次)

但是调整一下顺序,例如

MATCH (custom_le)-[custom_has_account:`CUSTOM_HAS_ACCOUNT`]->(account_ri:`ACCOUNT`)
MATCH (custom_le:`CUSTOM`) WHERE (custom_le.`CUSTOM`.`customer_name`=='金角大王')
RETURN custom_le LIMIT 1000

就不会出现丢失

或者换成匹配多个模式的写法

MATCH (custom_le:`CUSTOM`), (custom_le)-[custom_has_account:`CUSTOM_HAS_ACCOUNT`]->(account_ri:`ACCOUNT`)
WHERE (custom_le.`CUSTOM`.`customer_name`=='金角大王')
RETURN custom_le LIMIT 1000

也不会出现数据丢失

1 个赞

是个 bug,感谢反馈。 关注下这个 issue: https://github.com/vesoft-inc/nebula/issues/4430

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