Index funktioniert nicht bei Verwendung von order (). By () in Titan
Die Titan Dokumentation sagt, dass
Mixed-Indizes unterstützen die systemeigene und effiziente Bestellung. Der in der order (). By () -Methode verwendete Eigenschaftsschlüssel muss jedoch zuvor zum gemischten Index hinzugefügt worden sein, damit die native Sortierung der Ergebnisse unterstützt wird. Dies ist in Fällen wichtig, in denen sich der order (). By () -Schlüssel von den Abfrageschlüsseln unterscheidet. Wenn der Eigenschaftsschlüssel nicht Teil des Index ist, müssen beim Sortieren alle Ergebnisse in den Speicher geladen werden.
Also, ich habe einen gemischten Index für @ gemacprop1
Eigentum. Der gemischte Index aufprop1
funktioniert gut, wenn ein Wert angegeben wird.
gremlin> g.V().has('prop1', gt(1)) /* this gremlin uses the mixed index */
==>v[6017120]
==>v[4907104]
==>v[8667232]
==>v[3854400]
...
Aber wenn ich @ benutorder().by()
aufprop1
Ich kann den gemischten Index nicht nutzen.
gremlin> g.V().order().by('prop1', incr) /* doesn't use the mixed index */
17:46:00 WARN com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx - Query requires iterating over all vertices [()]. For better performance, use indexes
Could not execute query since pre-sorting requires fetching more than 1000000 elements. Consider rewriting the query to exploit sort orders
Ebenfallscount()
dauert so lange.
gremlin> g.V().has('prop1').count()
17:44:47 WARN com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx - Query requires iterating over all vertices [()]. For better performance, use indexes
Ich würde mich freuen wenn ich wüsste was mit mir los ist. Hier sind meine Titan Informationen:
Titan Version: 1.0.0-hadoop1Storage Backend: Cassandra 2.1.1Index Backend: ElasticSearch 1.7Vielen Dank