我有一个带有 ES 后端和 DynamoDB 的 Titan 图,用于持久性。
方法has("mykey", "value")
从不检索顶点。在查询mykey
由 Elasticsearch 索引的 a 时,它总是不返回任何内容。索引已更新并启用。
运行此查询时,
gremlin> graph.indexQuery("verticesIndex2", "v.mykey:myvalue").vertices().asList().size()
==>1 // It works here!! The vertex is retrieved successfully.
gremlin> g.V().has("mykey", "myvalue").hasNext()
==>false // doesn't retrieve anything!!!
gremlin> g.V(16998408).values("mykey")
==>myvalue // the vertex exists in my graph for sure !!
我尝试了一个技巧来让它工作
gremlin> g.V().has("mykey").has("mykey", "myvalue").next()
19:49:44 WARN com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx - Query requires iterating over all vertices [()]. For better performance, use indexes
==>v[16998408] // It works !!
这似乎是某个地方的问题,但不确定具体在哪里。对此有什么想法吗?