rmagen / elastic-gremlin

TinkerPop 3 implementation on Elasticsearch backend
70 stars 14 forks source link

Notice: This project has migrated over to Unipop

elastic-gremlin

TinkerPop 3 implementation on Elasticsearch backend. You should read up on Tinkerpop before you use elastic-gremlin.

Features


Getting Started!

  1. clone & build elastic-gremlin

    git clone https://github.com/rmagen/elastic-gremlin.git

    mvn clean install -Dmaven.test.skip=true

  2. Create an ElasticGraph:

    BaseConfiguration config = new BaseConfiguration();
    /* put configuration properties as you like*/
    ElasticGraph graph = new ElasticGraph(config);
    GraphTraversalSource g = graph.traversal();
    g.addV();
  3. Or just use the Gremlin Server or Gremlin Console.


Confiuration

Basic

Basic usage of elastic-gremlin creates or uses an existing ES index, with each Vertex and Edge contained in its own document. You can customize some of the behaviour:

And most importantly you can customize the ES Index's Mappings to best fit your data. You can use ES's own APIs to do it. elastic-gremlin will automatically utilize your indices as best as he can.

Advanced

In addition to index mappings, ES offers many other ways to optimize your queries.

Implement QueryHandler to use a customized schema that works best for your data.
We still don't have enough documentation on this, but you can take a look at the implementations of SimpleQueryHandler and ModernGraphQueryHandler

You're welcome to send us any comments or questions (rmagen@gmail.com)