Star

nebula v1.1 Lookup vertices failed

  • nebula 版本:1.1.0
  • 部署方式:Docker
  • 硬件信息
    • 磁盘( 必须为 SSD ,不支持 HDD)
    • CPU、内存信息:
  • 出问题的 Space 的创建方式:CREATE SPACE nba_mysy (partition_num=9, replica_factor=1);
  • 问题的具体描述:
CREATE EDGE INDEX index_trade ON trade(trade_time)
LOOKUP ON trade WHERE trade.trade_time > 1577808000 AND trade.trade_time < 1577894400

请问创建索引rebuild后,使用LOOKUP语句WHERE条件不支持这种范围查询吗

索引不支持表达式,详情参考索引使用限制文档

1赞
LOOKUP ON trade WHERE trade.trade_time < 1577894400

但是这种表达式是可以查出来的,我看限制文档中写的是字符串类型不支持范围查询,timestamp类型也不可以吗

原理上是支持的, 您这么写是报错吗?

是的,范围内的数据量也就大概1000条左右,就报[ERROR (-8)]: Lookup vertices failed

目前测试到WHERE条件为<时,数据量不过大时可以正常执行。
WHERE条件包含>,就报[ERROR (-8)]: Lookup vertices failed

您好,目前1.1.0只支持double和int的范围查询,暂不支持其它类型的范围查询。在2.0中将支持所有类型的范围查询。谢谢您的反馈。

了解了谢谢

您好,我提交了一个PR做为timestamp范围查询的初步的解决方案,这个方案只是简单的将timestamp类型转换为int64类型进行处理,不知道能不能帮到您,这里并没有考虑时区和时间格式的问题,有兴趣请参考:

1赞

目前考虑方案为新加一个边的属性将timestamp存为int类型,如果按照您的PR能直接底层支持timestamp转换处理就更好了,请问这个PR会合并到正式版本中吗?

这个PR暂时不会合并到主线中,还需要再进一步的考虑一下。

1赞

浙ICP备20010487号