边索引只返回rank==0的数据

请问lookup 在边上的索引操作的时候,只会返回rank为0 的数据吗?
LOOKUP ON db where db.source_space == “db” YIELD db.source_space as source_space | limit 30;

你的边当前由存在ranking非0的情况么?显示在where里面查一下?正常应该是全部都会返回的,可以先查一下检查下数据。

数据存在rank不为0 的情况,图探索的时候会有的
image

使用where查询的时候:
查询语句:GO FROM hash(‘10.56.92.187’) OVER db YIELD db._src AS src, db._dst as dst, db._rank as rank,db.source_space as source_space | limit 10;

你再where里指定对应的rank查一下?可能默认和你说的一样,我跟同事确认一下,你这边也查证下哈:handshake:

您好,我这边查询之后,也是有非0 的rank存在的。
GO FROM hash(‘10.56.92.187’) OVER db where db._rank==10 YIELD db._src AS src, db._dst as dst, db._rank as rank,db.source_space as source_space | limit 10;

我目前的边的rank量会达到百万级,请问这个有影响吗?

我的意思是你用lookup也在where指定rank查一下?

limit 语法如果不配合 order by 语句时返回的结果是难以预测的,你可以试试 limit 值用一个较大的值看会不会返回 rank 非 0 的数据

1 个赞

你的意思是这个吗?
LOOKUP ON db where db.source_space == “db” and db._rank ==10 YIELD db.source_space as source_space | limit 30;
不支持_rank的条件限制

我将limit 设置到了一万,返回的数据量还是只有15条,返回的数据量并没有增多。
LOOKUP ON db where db.source_space ==“db” YIELD db.source_space as source_space | limit 10000;

我这边试着插入了两条边的数据,然后使用lookup查询了一下,是可以返回rank非0的边的

你可以做个实验,插入这两条数据试试,再查一下,看下是不是还查不出来

我使用其他的数据,会查出来的。请问rank上百万,会影响查询吗?