MATCH 查询问题

MATCH (h:TAG_A)<-[e:REFERENCES_A_AND_B]-(p:TAG_B) where 1==1 and e.hoid==“hoid33” and h.hoid==“hoid11” return h
如上查询语句,已建立TAG_A的单索引并重构,已建立TAG_B的单索引并重构。
单独一个条件能查询出数据,2个条件查询没有数据。如何才能查询出数据来呢?看手册好像不能跨点建立组合索引把。

抱歉,这是一个问题,这种情况应该能降级到全扫描才对,对它的修复已经 merged 了哈

update: 见楼下,是点索引没 rebuild 成功造成的。

另外,您想表达的是 e.hoid==“hoid33” 还是 p.hoid==“hoid33”?确定不是写错了?

就是e和h。只是测试用,也可以e或者p的条件组合

能用 nightly 的版本试一下能不能查出来么?

我是用的2.5.0

我发现了e的索引建立成功了。h的索引建立不成功导致查询无数据也并不报错无索引提示。
然后,看了下,h的另一个字段name已经建立了索引,所以只能组合另一个建立了索引的字段来进行查询。
MATCH (h:TAG_A)<-[e:REFERENCES_A_AND_B]-(p:TAG_B) where 1==1 and e.hoid==“hoid33” and h.name==“name11” return h
但是,有个问题,比如我要用h的另一个字段hoid作为条件查询怎么办呢?好像同一个点只能建立一个单索引?

如果 h 索引有了的话,从 h 通过 e 拓展(并按条件过滤)的话 e 的索引应该不是必须的,你可以等 h 索引好了之后再试试么?

边索引只有它作为唯一查询条件的时候才需要,如果拓展的时候,走的扫的是边数据,不需要单独建立索引的

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。

浙ICP备20010487号