A GraphAware Framework module for bi-directional integration between Neo4j and Elasticsearch, enabling asynchronous data replication and search enrichment.
GraphAware Neo4j Elasticsearch Integration is a module that enables bi-directional data synchronization between Neo4j graph databases and Elasticsearch search engines. It replicates Neo4j data to Elasticsearch asynchronously for full-text search and can enrich Elasticsearch queries with graph-based insights from Neo4j, solving the challenge of integrating graph and search technologies.
Developers and organizations using Neo4j who need to integrate graph data with Elasticsearch for search capabilities, real-time analytics, or recommendation systems.
It provides a production-ready, configurable integration that works transparently without impacting Neo4j performance, and offers enterprise support through GraphAware. The open-source version is compatible with Neo4j Community Edition.
GraphAware Framework Module for Integrating Neo4j with Elasticsearch
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses an in-memory queue to replicate Neo4j transactions to Elasticsearch in real-time, ensuring minimal impact on Neo4j performance as described in the philosophy section.
Pairs with a separate Elasticsearch plugin to enrich queries with graph-based insights like recommendations, leveraging Neo4j for complex calculations.
Supports fine-grained inclusion policies to specify which nodes and properties are indexed, demonstrated through configurable settings in neo4j.conf.
Provides built-in Cypher procedures for querying Elasticsearch, monitoring reindexing status, and retrieving mappings, enabling seamless integration within Neo4j workflows.
Was production-ready with official GraphAware Enterprise support, indicating robustness for critical deployments before retirement.
The project was retired in May 2021, meaning no bug fixes, security updates, or compatibility with newer Neo4j or Elasticsearch versions.
Requires extensive configuration in neo4j.conf, including tricky settings like 'initializeUntil' for reindexing, which can be error-prone and poorly documented.
Open-source version only works with Neo4j Community Edition, not Enterprise Edition, forcing commercial users to purchase GraphAware Enterprise for support.
Heavily recommends using the GraphAware UUID Module to avoid internal ID issues, adding extra setup and potential integration headaches.