查询边数量大于等于1的所有点nGQL报错

而且 我换了一个tag为phone,出现下面的问题

同样的查询,为什么又说limit写的有问题了?好奇怪。 :sob: :sob: :sob: :sob:

wb_user schema定义如下 一个wb_user点

CREATE TAG wb_user(user_id int, types string);

ip schema定义如下,一个phone点中phone_num的值是手机号

CREATE TAG phone(phone_num string);

两个tag唯一不同是在wb_user tag中针对types创建了索引,phone没有创建任何索引

这个报错就是因为没有建索引,现在 match 得实现需要指定起点 id 或者索引。

phone 上建个索引测下这个语句。

phone上创建索引后,不报告这个错误了。

但是查询的数据不对。

我有真实的数据,如下

但是查询的结果为空

rebuild index 了吗

rebuild index后可以了。

那回到最原始的问题:同样的查询应用到 wb_user 为什么不行呢?

目前看上去确实比较奇怪,有手动删除过 data 目录的数据吗?

先尝试复现下吧: 创建一个新的 space,执行你原先对 wb_user 的所有操作,再测下这条语句。

没有手动删除过data目录数据

嗯,目前还没有什么思路,先尝试下我上面说的,如果能在新的 space 下再次复现,问题会好定位很多,如果没有复现也可以排除很多因素。

1 个赞

嗯。我找一个测试环境尝试下应该也可以吧。这是线上环境的问题,在线上重新创建一个space运维成本比较大

我在测试环境创建了同样的wb_user TAG,

CREATE TAG wb_user(user_id int, types string);

并和线上环境一样创建了对应的INDEX

CREATE TAG INDEX IF NOT EXISTS wb_user_index_types on wb_user(types(20));

然后在进行查询


是可以正常查询的。

是我线上环境的数据损坏了吗? :sob:

有可能的 :melting_face:

直接数据损坏的可能性不大。元数据出错到有可能。你一次查少一点试试呢

如何修复呢?感觉这个bug挺严重的啊。。。

我limit 10 了已经够少了吧。limit 1也是同样的问题。。。

这个问题别沉下去啊 :scream:

看看同一条数据用其他类型的语句能查出来吗?比如go语句

是可以的。

比如,是用 return id(n)时返回第一条数据


然后是用这个数据的 id 通过 go 语句进行游走