Vertex Centric Indexes

    The idea of this index is to index a combination of a vertex, the direction and any arbitraryset of other attributes on the edges.To take an example, if we have an attribute called on the edges, we can use an outboundvertex-centric index on this attribute to find all edges attached to a vertex with a given type.The following query example could benefit from such an index:

    Using the built-in edge-index ArangoDB can find the list of all edges attached to the vertex fast,but still it has to walk through this list and check if all of them have the attribute type == "friend".Using a vertex-centric index would allow ArangoDB to find all edges for the vertex having the attribute in the same time and can save the iteration to verify the condition.

    And is created using their creation operations.However in the list of fields used to create the index we have to include either _from or _to.Let us again explain this by an example.Assume we want to create an hash-based outbound vertex-centric index on the attribute .This can be created with the following way:

    Show execution results

    All options that are supported by the respective indexes are supported by the vertex-centric index as well.

    The AQL optimizer can decide to use a vertex-centric whenever suitable, however it is not guaranteed that thisindex is used, the optimizer may estimate that an other index is assumed to be better.The optimizer will consider this type of indexes on explicit filtering of _from respectively _to: