There's a lot of open issues
A long-lived project that still receives updates
ElasticGraph gem that provides datastore administrative tasks, to keep a datastore up-to-date with an ElasticGraph schema.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies
 Project Readme
ElasticGraph logo

CI Status Badge Test Coverage Badge Activity Badge Contributors Badge Gem Version Badge License Badge

ElasticGraph provides schema-driven, scalable, cloud-native, batteries-included GraphQL with superpowers, backed by Elasticsearch / OpenSearch.

Try ElasticGraph in 1 Minute

Boot an example ElasticGraph project locally with:

curl -s https://block.github.io/elasticgraph/dc.yml | docker compose -f - up --pull always

Then visit the local GraphiQL UI to try some example queries.

Start a New Project in 5 Minutes

Bootstrap a new ElasticGraph project with:

gem exec elasticgraph new path/to/project
cd path/to/project
bundle exec rake boot_locally

The project website has a full getting started guide.

Architecture

ElasticGraph is designed as a modular system with a small core and numerous built-in extensions. The codebase is a monorepo containing multiple Ruby gems that work together to provide a rich, comprehensive data platform.

For a detailed exploration of the system architecture, component gems, and their interactions, please see the CODEBASE_OVERVIEW.md.

Documentation

The project website has extensive user guides and documentation.

Contributing

We welcome contributions to ElasticGraph!

  • Join the community on Discord.
  • Read CONTRIBUTING.md to learn how you can help, including our development workflow and coding conventions.

License

ElasticGraph is released under the MIT License.

The GraphiQL interface bundled with elasticgraph-rack is derived from the GraphiQL project, which is also licensed under the MIT License, Copyright (c) GraphQL Contributors.