Nehmen wir an, ich habe Supernodes mit vielen Kanten und möchte schnell die oberen N Kanten für einen bestimmten Knoten zurückgeben. Wie kann ich es mit Arangodb Vertex Centric Index https://docs.arangodb.com/3.1/Manual/Indexing/VertexCentric.html tun?Vertex Centric Indizes für die Sortierung
I skiplist Vertex Centric Index
arangosh> db.collection.ensureIndex({ type: "skiplist", fields: [ "_from", "points" ] })
aber die optimiser es nicht abholen erstellen kann mit Sortier Abfrage
FOR edge IN collection
FILTER edge._from == "vertices/123456"
SORT edge.points DESC
LIMIT 0, 10
RETURN edge
Es scheint auch, dass arango Optimierer nicht skiplist Vertex Centric Index nicht aufheben in Traversal-Syntax aber Dokumentation sagt, es sollte:
FOR v, e, p IN 3..5 OUTBOUND @start GRAPH @graphName
FILTER p.edges[*].points ALL >0
RETURN v
es den Index abholen Ist, wenn Sie die Traversal Tiefe ändern, um ' 1..5' oder '1..1'? – CoDEmanX
nein. Es ist nicht – irriss
Bitte melden Sie dies auf GitHub: https://github.com/arangodb/arangodb/issues/new. Fügen Sie die Softwareversion und wenn möglich den Datensatz hinzu. Es kann wichtig sein, genau die gleichen Daten mit einer bestimmten Werteverteilung zu verwenden, da vertexzentrische Indizes auf der Grundlage der Selektivitätsschätzwerte nicht immer dem standardmäßigen Kantenindex vorgezogen werden. – CoDEmanX