我正在使用Titan Server(Cassandra)v 0.3.1 . 我想在我已经开始使用的顶点键/属性上创建索引 . 然而,在他们的documentation中,泰坦解释说:
要按键索引顶点,必须在首次在顶点属性中使用键之前创建相应的键索引 .
如果我尝试在已存在的字段上创建索引,我会看到预期的错误:
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
仍然存在于基础数据存储中 . 这与文档一致(即使元素已被删除,属性已经'first used'),但似乎值得一试 .
我的下一步将是重新创建一个新的Cassandra数据存储,但我想知道是否有更好的选择 .
在已经在Titan中使用的字段上创建索引的最简单方法是什么?
2 回答
将Titan指向新的Cassandra数据存储,并在插入具有该属性的任何元素之前创建索引 .
试试这个gremlin查询:
您无需手动删除边缘,因为如果删除顶点,将自动删除与其关联的所有边 . 要删除所有顶点,您需要使用迭代查询 .
清除图表后,您将不需要新的KeySpace . 然后你可以使用: