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.7

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage