在Titan(Cassandra)中已存在的顶点属性上创建索引?

bcm*_*360 6 gremlin titan

我正在使用Titan Server(Cassandra)v 0.3.1.我想在我已经开始使用的顶点键/属性上创建索引.然而,在他们的文档中,Titan解释说:

要按键索引顶点,必须在首次在顶点属性中使用键之前创建相应的键索引.

如果我尝试在已存在的字段上创建索引,我会看到预期的错误:

gremlin> g.createKeyIndex("my_key",Vertex.class)
Cannot add an index to an already existing property key: my_key
Run Code Online (Sandbox Code Playgroud)

但是,即使我尝试通过删除所有顶点和边缘来清除图形,我也会看到同样的错误:

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
Run Code Online (Sandbox Code Playgroud)

因此,my_key即使在删除所有图形元素之后,似乎仍然存在于底层数据存储中.这与文档一致(即使元素已被删除,属性已经"首次使用"),但似乎值得一试.

我的下一步将是重新创建一个新的Cassandra数据存储,但我想知道是否有更好的选择.

在已经在Titan中使用的字段上创建索引的最简单方法是什么?

bcm*_*360 3

将 Titan 指向新的 Cassandra 数据存储并在插入具有该属性的任何元素之前创建索引。

gremlin> g.createKeyIndex("my_key",Vertex.class)
==>null
Run Code Online (Sandbox Code Playgroud)