У меня есть график Titan с бэкэндом ES и DynamoDB для сохранения.
Метод 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 !!
Кажется, это где-то проблема, но не уверен, где именно. Есть мысли по этому поводу?