Neo4j与ElasticSearch数据同步

本文介绍了在Neo4j与ElasticSearch之间进行数据同步的需求和方案选择,详细讲述了通过编写Neo4j插件实现数据同步的过程,包括实验环境搭建、功能使用,如节点创建、修改和删除,并验证了同步效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Neo4j与ElasticSearch数据同步

针对节点删除,加了一些逻辑,代码地址

背景

需要强大的检索功能,所有需要被查询的数据都在neo4j。

方案

  • 在Server逻辑中直接编写。后端有一个Storage类。当有新数据通过RestAPI存入Neo4j时,同时存一份到ElasticSearch
  • 编写Neo4j插件。Neo4j本身不支持Trigger。但是可以通过插件实现类似功能

方案的选择采用第二种,原因有二

  • 集中式的数据同步处理,比分散式上层逻辑数据同步处理 稳定性和可维护性更高
  • Neo4j开源仓储提供了Neo4j-ElasticSearch插件,虽然不满足我们的需求,但是可以为编写代码提供极大的参考。

插件试用

实验环境: Ubuntu16.04 Docker 17.12.1-ce (由于采用Docker,环境对实验影响不大)

实验环境搭建

  • 下载最近版本(3.2.x)的Jar包
wget https://github.com/neo4j-contrib/neo4j-elasticsearch/releases/download/3.2.3/neo4j-elasticsearch-3.2.3.jar
  • 启动ES容器,该插件用的Jest 2.0.2版本。但是我们使用ElasticSearch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值