我有这个Cypher查询,我无法弄清楚如何在运行它时利用复合索引。我在两个节点上尝试了type
,for
,buying
和renting
属性的索引,但索引未显示在查询的PROFILE
上。< / p>
MATCH (prof:Profile)
MATCH (prop:Property)
WHERE prof.type = prop.type
and prof.for = prop.for
and prof.buying = prop.buying
and prof.renting = prop.renting
甚至可以实现这个目标吗?
答案 0 :(得分:1)
这将解决问题(对于第二个节点类型):
PROFILE MATCH (pp:Property)
WITH pp, pp.type as type, pp.for as for, pp.bying as buying, pp.renting as renting
MATCH (pf:Profile)
WHERE pf.type = type
AND pf.for = for
AND pf.buying = buying
AND pf.renting = renting
RETURN pp, pf;
未使用索引的原因是它没有使用它的实际值,这些值仅在扫描节点后才可用。
希望这有帮助。
此致 汤姆