复合索引查询,条件为"!=" 无法获取数据

版本: 1.1.0, 三节点:

数据集:nba.ngql。

创建复合索引:
CREATE TAG INDEX player_index_1 on player(name,age);
rebuild tag index player_index_1 offline

执行以下查询:

当复合查询为:LOOKUP ON player WHERE player.name == ‘Tim Duncan’ and player.age == 42| YIELD COUNT(*) AS Number;可获取结果,但是查询语句为

LOOKUP ON player WHERE player.name == ‘Tim Duncan’ and player.age != 1| YIELD COUNT(*) AS Number;则获取不了结果

要不,你升级到 v1.2.1 试试?“!=” 这个操作的话好像是 1.2.0 版本才支持的,或者升级到我们最近的 2.5.0 也行,升级步骤参考 升级历史版本至v2.5.0 - Nebula Graph Database 手册

是指复合索引里 不支持“!=”吗,如果对age单独建索引是可以支持的

有个错别字,我改了。这个问题,我找下对应的索引研发看看好了,目前来说我们文档的最低支持的版本是 v1.2.0,其实我是建议你升级到最新的发行版,不然以后会遇到更多奇怪的问题(研发需要重新构建对应的版本来复现问题)

他需要一点时间去搭建环境看下问题,如果你尝试升级解决了问题的话,应该就是一个功能支持问题。

请问有进展吗

我让研发看看哈

复合索引在1.2.1中不支持 != 查询,单个索引是支持的。复合索引中只支持等价查询和范围查询。
在2.5.0中,以上的查询条件都可以支持。
另外,1.*.*中,因为没有fixed_string 类型,对索引的查询条件的限制较多,建议升级2.5.0试试。

浙ICP备20010487号