Neo4j的多个索引名称与架构指标
问题描述:
跟进的问题:Organize alternative names (nicknames, aliases) in neo4jNeo4j的多个索引名称与架构指标
有没有办法做这样的事情:
CREATE INDEX ON :Node(name);
CREATE (n:Node {name: ["nameA", "nameB"]});
MATCH (n:Node {name: "nameA"}) return n;
- 索引节点的name属性。
- 使用名称的集合(数组)作为节点的名称。
- 搜索其中一个名称并返回节点。
我必须使用传统索引还是可以通过常规索引来实现?
我在问自从原来的问题已经超过3岁,并且我认为可能已经添加了类似的功能。
答
不,“正常”索引不支持这一点。
但是,您可以更改数据模型以允许多个Name
节点指向同一个Node
节点,并且索引:Name(name)
。像这样:
CREATE INDEX ON :Name(name);
CREATE
(node:Node {id: 123}),
(:Name {name: "nameA"})-[:NAME_OF]->(node),
(:Name {name: "nameB"})-[:NAME_OF]->(node);
MATCH (:Name {name: "nameA"})-[:NAME_OF]->(node) return node;