【发布时间】:2014-02-13 09:41:30
【问题描述】:
我有一个包含以下详细信息的数据集:
- 140 万个节点
- 290 万关系
- 1500 万个属性(包括性别、姓名、订阅者 ID 等)
- 1 种关系类型(已联系)
我已经使用https://github.com/jexp/batch-import/tree/20将数据批量导入我机器上的数据库(64 位,16 核,16 GB RAM)
我正在尝试在 Subscriber_ID 上索引这些节点,但我不确定我在做什么。
我跑了
start n = node(*) set n:Subscribers
我的理解是这会为每个节点创建一个标签(这是正确的)
接下来我跑了
create index on :Subscribers(SUBSCRIBER_ID)
我认为应该为属性“SUBSCRIBER_ID”上带有“订阅者”标签的所有节点创建一个索引。 (对吗?)
现在当我去 Neo4j-sh 运行时
neo4j-sh (?)$ schema
==> Indexes
==> ON :Subscribers(SU_SUBSCRIBER_ID) ONLINE
==>
==> No constraints
但是当我运行以下命令时,它说没有为节点设置索引。
neo4j-sh (?)$ index --indexes
==> Node indexes:
==>
==> Relationship indexes:
我有几个问题
- 我必须告诉它索引现有数据吗?如果是这样,我该怎么做 那?
- 我怎样才能使用索引?我已通读 文档,但我在遵循它时遇到了一些麻烦。
- 看起来 就像我可以在运行批量导入时设置索引 脚本,但我无法真正理解如何......有人可以解释一下 请?
这是我的数据示例:
Nodes.txt
id SU_SUBSCRIBER_ID CU_FIRST_NAME gender SU_AGE
0 123456 Ann F 56
1 832746 ? UNKNOWN -1
2 546765 Tom UNKNOWN -1
3 768345 Anges F 72
4 267854 Aoibhlinn F 38
rels.csv
start end rel counter
0 3 CONTACTED 2
1 2 CONTACTED 1
1 4 CONTACTED 1
3 2 CONTACTED 2
4 1 CONTACTED 1
【问题讨论】: