我正在使用Titan Server (Cassandra) v 0.3.1。我想在已经开始使用的顶点键/属性上创建索引。然而,在他们的文档中,Titan解释道:
“要通过键对顶点进行索引,必须在键首次用于顶点属性之前创建相应的键索引。”
如果我尝试在已经存在的字段上创建索引,我会看到预期的错误。
然而,即使我尝试通过删除所有顶点和边来清除图形,我仍然看到相同的错误:
看起来,即使删除了所有图元素,
我的下一步将是重新创建一个新的Cassandra数据存储,但我想知道是否有更好的选择。
在Titan中创建索引的最简单方法是什么?
“要通过键对顶点进行索引,必须在键首次用于顶点属性之前创建相应的键索引。”
如果我尝试在已经存在的字段上创建索引,我会看到预期的错误。
gremlin> g.createKeyIndex("my_key",Vertex.class)
Cannot add an index to an already existing property key: my_key
然而,即使我尝试通过删除所有顶点和边来清除图形,我仍然看到相同的错误:
gremlin> g.E.remove()
==>null
gremlin> g.V.remove()
==>null
gremlin> g.createKeyIndex("my_key",Vertex.class)
Cannot add an index to an already existing property key: my_key
看起来,即使删除了所有图元素,
my_key
仍在底层数据存储中保持不变。 这与文档一致(即使已删除元素属性已经被“首次使用”),但似乎值得尝试。我的下一步将是重新创建一个新的Cassandra数据存储,但我想知道是否有更好的选择。
在Titan中创建索引的最简单方法是什么?
g.V.each {g.removeVertex(it)}
大致相当于g.V.remove()
(请参见相关)。当我尝试使用您的替代方法删除顶点时,Titan也出现了同样的问题:“无法将索引添加到已存在的属性键:my_key”。 - bcm360gremlin> g.V.each{g.removeVertex(it)}; g.commit(); g.createKeyIndex("my_key", Vertex.class); 无法为已存在的属性键添加索引:my_key
- bcm360