- nebula 版本:1.2.0
- 部署方式(分布式 / 单机 / Docker / DBaaS):单机
- 硬件信息
- 磁盘( 必须为 SSD ,不支持 HDD)512
- CPU、内存信息:Xeon 128G
- 出问题的 Space 的创建方式:
- 问题的具体描述
图探索下能够看到的某节点的一类边下有两个关联节点,但是在创建索引并lookup后返回的结果却比实际的少(条件相同),而且不止这一个的返回数量少,其他的边的返回结果数也少于实际显示的数量
其中的lookup语句(结果为1个)为:
lookup on app_users where app_users.app_name==‘短信平台’
其中,我们在app_users边上对app_name属性建立了索引并rebuild了数据
换用 go 语句(结果为2个):
go from hash(‘短信平台’) over app_users where app_users.app_name==‘短信平台’
lookup 查询的是app_users.app_name==‘短信平台’的点有几个。
go语句查的是从点hash(‘短信平台’)沿边app_users进行一度查询,返回边属性app_users.app_name==‘短信平台’的结果。我认为这两个语句的语义不一样
借楼,索引文档
app_users是边类型,我对边上的属性app_name创建了索引,我的理解是我在lookup时限定了app_name那么返回的应该是符合app_name限制的所有app_users边的结果,这样理解对吗?如果是这样的话应该是返回2个结果的,但是实际只返回了一个结果,
是这个附录链接丢失了
感谢
go返回的是终点,根据你的图,有两个终点。
能指定一下lookup返回的结果吗,返回一个边属性我看看,
满足条件的边有几条呢
如果这两条边都匹配where条件的话,应该返回两条结果的。尝试再手动insert一下这两条边试试?
重新导入了所有数据,这次在导入数据前就做了索引,这样是能够lookup回2条边的,也就是问题出在 rebuild edge index 的过程中吗?这个应该属于bug吧?还是操作中需要注意什么?
感谢反馈,我们内部将验证一下这个问题的具体原因。
rebuild index 只能查出部分数据的问题,请问下 SHOW TAG INDEX STATUS; 的结果是什么样子的呀?