永続化のために ES バックエンドと DynamoDB を備えた Titan グラフがあります。
メソッドhas("mykey", "value")
が頂点を取得することはありません。mykey
Elasticsearch によってインデックス付けされた を照会する場合、常に何も返しません。インデックスが更新され、有効になります。
このクエリを実行すると、
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 !!
これはどこかの問題のようですが、正確にはわかりません。これについて何か考えはありますか?