同步Neo4j中数据到搜索服务器的方法及系统技术方案

技术编号:28035597 阅读:24 留言:0更新日期:2021-04-09 23:17
本发明专利技术公开同步Neo4j中数据到搜索服务器的方法及系统,其中,该方法包括:启动Neo4j图数据库,创建搜索服务器客户端,构造事务事件处理器,并将所述事务事件处理器注册到Neo4j服务中去;利用所述事务事件处理器将图数据节点和图数据关系分别构造成搜索服务器的文档请求对象并存储到Map中;利用所述事务事件处理器基于所述文档请求对象构造搜索服务器的批量文档请求对象,利用搜索服务器客户端将所述批量文档请求对象同步到搜索服务器集群中。本发明专利技术提供的同步Neo4j中数据到搜索服务器的系统,采用上述同步Neo4j中数据到搜索服务器的方法,解决了如何将Neo4j中的图数据实时同步到搜索服务器中的问题。

【技术实现步骤摘要】
同步Neo4j中数据到搜索服务器的方法及系统
本专利技术涉及图数据库
,尤其涉及同步Neo4j中数据到搜索服务器的方法及系统。
技术介绍
Neo4j图数据库是一个非常流行的图数据库,提供了强大且稳定的图存储和图查询功能,在知识图谱应用领域有广泛应用,而搜索服务器经常被用来为应用系统的搜索服务提供支持。图谱可视化是知识图谱的一个应用领域,通常包含了图数据的搜索查询和展现等服务。在知识图谱的可视化应用场景中,可以使用搜索服务器辅助构建针对图数据的查询服务,将图数据同步到搜索服务器集群中,进而从搜索服务器中高效地查询图数据,以避免直接从Neo4j图库中全量扫描数据,从而提高针对图数据的搜索服务性能。因此,将Neo4j中的图数据实时同步到搜索服务器中,是一个必须要解决的问题。
技术实现思路
本专利技术的目的在于提供同步Neo4j中数据到搜索服务器的方法及系统,解决了如何将Neo4j中的图数据实时同步到搜索服务器中的问题。为了实现上述目的,本专利技术提供如下技术方案:一种同步Neo4j中数据到搜索服务器的方法,包括:启动Neo4j图数据库,创建搜索服务器客户端,构造事务事件处理器,并将所述事务事件处理器注册到Neo4j服务中去;利用所述事务事件处理器将图数据节点和图数据关系分别构造成搜索服务器的文档请求对象并存储到Map中;利用所述事务事件处理器基于所述文档请求对象构造搜索服务器的批量文档请求对象,利用搜索服务器客户端将所述批量文档请求对象同步到搜索服务器集群中。优选地,所述搜索服务器采用Elasticsearch搜索服务器。较佳地,创建搜索服务器客户端,构造事务事件处理器,并将所述事务事件处理器注册到Neo4j服务中去的方法包括:启动Neo4j图数据库,读取neo4j图数据库的配置文件中搜索服务器集群地址和搜索服务器索引名称;根据搜索服务器集群地址创建搜索服务器客户端;使用搜索服务器客户端检查neo4j图数据库的配置文件中的搜索服务器索引名称是否存在,若不存在则创建搜索服务器索引名称;依据neo4j图数据库的配置文件构造事务事件处理器,并将所述事务事件处理器注册到Neo4j服务中。较好地,利用所述事务事件处理器将图数据节点和图数据关系分别构造成搜索服务器的文档请求对象并存储到Map中的方法包括:在所述事务事件处理器中创建Map对象,所述Map对象采用键集-值集的映射方式;将Neo4j图数据库中的图数据节点和图数据关系分别构造成搜索服务器的文档请求对象;将图数据节点的实体id与索引类型构造成的对象存储为Map对象的key,和/或将图数据关系的实体id与索引类型构造成的对象存储为Map对象的key;将所述文档请求对象存储为Map对象中对应的value。具体地,将Neo4j图数据库中的图数据节点分别构造成搜索服务器的文档请求对象的方法包括:根据Neo4j图数据库的配置文件判断是否需要同步图数据节点,若需要同步图数据节点,则执行以下同步图数据节点的操作中的一项或多项:将Neo4j图数据库的事务对象中创建的图数据节点构造成搜索服务器的索引请求文档对象;将Neo4j图数据库的事务对象中删除的图数据节点构造成搜索服务器的删除请求文档对象;将Neo4j图数据库的事务对象中新增标签的图数据节点构造成搜索服务器的索引请求文档对象;将Neo4j图数据库的事务对象中删除标签的图数据节点构造成搜索服务器的删除请求文档对象;将Neo4j图数据库的事务对象中新增属性的图数据节点构造成搜索服务器的索引请求文档对象;将Neo4j图数据库的事务对象中删除属性的图数据节点构造成搜索服务器的删除请求文档对象。具体地,将Neo4j图数据库中需要同步的图数据关系分别构造成搜索服务器的文档请求对象的方法包括:根据Neo4j图数据库的配置文件判断是否需要同步图数据关系,若需要同步图关系节点,则执行以下同步图数据关系的操作中的一项或多项:将Neo4j图数据库的事务对象中创建的图数据关系构造成搜索服务器的索引请求文档对象;将Neo4j图数据库的事务对象中删除的图数据关系构造成搜索服务器的删除请求文档对象;将Neo4j图数据库的事务对象中新增属性的图数据关系构造成搜索服务器的索引请求文档对象;将Neo4j图数据库的事务对象中删除属性的图数据关系构造成搜索服务器的删除请求文档对象。进一步地,其特征在于,利用所述事务事件处理器基于所述文档请求对象构造搜索服务器的批量文档请求对象,利用搜索服务器客户端将所述批量文档请求对象同步到搜索服务器集群中的方法包括:利用所述事务事件处理器基于所述文档请求对象构造搜索服务器的批量文档请求对象;搜索服务器客户端采用异步请求方式或同步请求方式执行图数据同步操作,将所述批量文档请求对象同步到搜索服务器集群中。优选地,根据Neo4j的配置文件判定搜索服务器客户端采用异步请求方式或同步请求方式执行图数据同步操作。较佳地,所述批量文档请求对象为Bulk请求对象,所述异步请求方式为异步Bulk请求方式,所述同步请求方式为同步Bulk请求方式。一种同步Neo4j中数据到搜索服务器的系统,包括初始化模块、映射模块及同步模块,其中,所述初始化模块,用于启动Neo4j图数据库,创建搜索服务器客户端,构造事务事件处理器对象,并将所述事务事件处理器对象注册到Neo4j服务中去;所述映射模块,用于利用所述事务事件处理器将图数据节点和图数据关系分别构造成搜索服务器的文档请求对象并存储到Map中;所述同步模块,用于利用所述事务事件处理器基于所述文档请求对象构造搜索服务器的批量文档请求对象,利用搜索服务器客户端将所述批量文档请求对象同步到搜索服务器集群中。与现有技术相比,本专利技术提供的同步Neo4j中数据到搜索服务器的方法及系统具有以下有益效果:本专利技术提供的同步Neo4j中数据到搜索服务器的方法,首先在Neo4j图数据库中创建搜索服务器客户端和事务事件处理器,然后利用事务事件处理器将图数据节点和图数据关系分别构造成搜索服务器的文档请求对象并存储到Map中,最后利用事务事件处理器构造搜索服务器的批量文档请求对象,并利用搜索服务器客户端将批量文档请求对象同步到搜索服务器集群中。使得Neo4j在执行写操作时,可以自动将提交数据写入事务之后变更的图数据同步到搜索服务器的集群中,从而帮助开发人员利用Neo4j图数据库和搜索服务器构建高质量的图谱可视化应用。本专利技术提供的同步Neo4j中数据到搜索服务器的系统,采用上述同步Neo4j中数据到搜索服务器的方法,解决了如何将Neo4j中的图数据实时同步到搜索服务器中的问题。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本文档来自技高网...

【技术保护点】
1.一种同步Neo4j中数据到搜索服务器的方法,其特征在于,包括:/n启动Neo4j图数据库,创建搜索服务器客户端,构造事务事件处理器,并将所述事务事件处理器注册到Neo4j服务中去;/n利用所述事务事件处理器将图数据节点和图数据关系分别构造成搜索服务器的文档请求对象并存储到Map中;/n利用所述事务事件处理器基于所述文档请求对象构造搜索服务器的批量文档请求对象,利用搜索服务器客户端将所述批量文档请求对象同步到搜索服务器集群中。/n

【技术特征摘要】
1.一种同步Neo4j中数据到搜索服务器的方法,其特征在于,包括:
启动Neo4j图数据库,创建搜索服务器客户端,构造事务事件处理器,并将所述事务事件处理器注册到Neo4j服务中去;
利用所述事务事件处理器将图数据节点和图数据关系分别构造成搜索服务器的文档请求对象并存储到Map中;
利用所述事务事件处理器基于所述文档请求对象构造搜索服务器的批量文档请求对象,利用搜索服务器客户端将所述批量文档请求对象同步到搜索服务器集群中。


2.根据权利要求1所述的同步Neo4j中数据到搜索服务器的方法,其特征在于,所述搜索服务器采用Elasticsearch搜索服务器。


3.根据权利要求1或2所述的同步Neo4j中数据到搜索服务器的方法,其特征在于,创建搜索服务器客户端,构造事务事件处理器,并将所述事务事件处理器注册到Neo4j服务中去的方法包括:
启动Neo4j图数据库,读取neo4j图数据库的配置文件中搜索服务器集群地址和搜索服务器索引名称;
根据搜索服务器集群地址创建搜索服务器客户端;
使用搜索服务器客户端检查neo4j图数据库的配置文件中的搜索服务器索引名称是否存在,若不存在则创建搜索服务器索引名称;
依据neo4j图数据库的配置文件构造事务事件处理器,并将所述事务事件处理器注册到Neo4j服务中。


4.根据权利要求3所述的同步Neo4j中数据到搜索服务器的方法,其特征在于,利用所述事务事件处理器将图数据节点和图数据关系分别构造成搜索服务器的文档请求对象并存储到Map中的方法包括:
在所述事务事件处理器中创建Map对象,所述Map对象采用键集-值集的映射方式;
将Neo4j图数据库中的图数据节点和图数据关系分别构造成搜索服务器的文档请求对象;
将图数据节点的实体id与索引类型构造成的对象存储为Map对象的key,和/或
将图数据关系的实体id与索引类型构造成的对象存储为Map对象的key;
将所述文档请求对象存储为Map对象中对应的value。


5.根据权利要求4所述的同步Neo4j中数据到搜索服务器的方法,其特征在于,将Neo4j图数据库中的图数据节点分别构造成搜索服务器的文档请求对象的方法包括:
根据Neo4j图数据库的配置文件判断是否需要同步图数据节点,若需要同步图数据节点,则执行以下同步图数据节点的操作中的一项或多项:
将Neo4j图数据库的事务对象中创建的图数据节点构造成搜索服务器的索引请求文档对象;
将Neo4j图数据库的事务对象中删除的图数据节点构造成搜索服务器的删除请求文档对象;
将Neo4j图数据库的事务对象中新增标签的图数据节点构造成搜索服务器的索引请求文档对象;
将Neo4j...

【专利技术属性】
技术研发人员:葛煜徐志欣
申请(专利权)人:苏宁金融科技南京有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1