gpt4 book ai didi

spring - neo4j和 Elasticsearch 在同一spring boot项目中(冲突lucene版本)

转载 作者:行者123 更新时间:2023-12-03 01:37:16 25 4
gpt4 key购买 nike

我知道这是this question的副本
但是已经5年了,也许有人现在可以建议其他解决方案了。

我正在尝试将elastic-searchneo4j共存,并且两者的Lucene依赖项存在冲突。

就我而言

<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j</artifactId>
<version>3.1.0</version>
</dependency>
elasticsearch取决于 Lucene v7.2.1,而 neo4j取决于 v5.5.5
我试图从 v5.5.5包中排除 neo4j,但是它没有用,但是找不到某些类。我也曾尝试将 Lucene的版本减少为 elasticsearch,但它也不起作用。

真正困扰我的是 elasticsearch定义了一个类似于 Lucene的程序包,我认为这是问题的一部分。

enter image description here

enter image description here

谢谢。

更新

这句话来自 https://neo4j.com/developer/elastic-search/是什么意思 default Java driver

If you plan to connect Neo4j to ElasticSearch using the default Java driver, please be aware that there are incompatibilities between the Lucene version used by Neo4j and ElasticSearch, so you might need to go with a REST based solution like JEST.



更新2

如果没有解决冲突的解决方案,那么哪种选择更适合此用例:
我有前端,它将向其余服务器发送一些 cypher query。其余服务器应该能够使用 spring-dataOGM mapping以便与 Neo4j通信,并且还能够从 cypher query执行 frontend

所以我应该:
  • 使用standalone instance并使用bolt protocole与之通信
  • 在另一个embedded instance项目中使用springboot并通过bolt protocol公开它
    在另一个embedded instace项目中使用springboot并公开其其余的api

  • 我正在寻找可确保 rest serverneo4j instance之间的良好通信速度的解决方案。并支持 OGMrest server提供的功能。 frontend将不会直接与 neo4j instance通信

    最佳答案

    关于default Java driver,它们表示您要包括的neo4j依赖项。直接与neo4j交谈的人。 Neo4j也有一个REST API,他们建议您使用JEST(我不知道这是什么),我猜这是使用REST API与Neo4j对话的,因此完全不需要使用Lucene。

    关于spring - neo4j和 Elasticsearch 在同一spring boot项目中(冲突lucene版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51358345/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com