We have been trying to derive Elastic Search query from a Neo4j graph. i.e. Elastic Search java client and Neo4j java client both exist in the same project. However, both are not running simulatneously.
This is possibly due to multiple lucene jar version used by both the framework. But my requirement is to have both the client libraries in the same project.
Neo4j version : 3.1 Elastic Search version : 5.2
Is there any way by which both java client libraries for Elastic and Neo4j co exist in same project.
P.S. I am not trying to modify the graph. I looked into Neo4j elasticsearch plugin but it only pushes the changes to elastic search. In my case, the graph will be pre built so no changes as such will be happening in real time.
Elasticsearch has to run with the lucene version it depends on - I assume the same for neo4j, but I dont know. You need to split projects or have separate class loaders if they cannot co-exist together, there is no way around it.
class loaders are a very complex beast and not really in the scope of a single technical answer. I think you will have a very hard time with both neo4j/elasticsearch in the same project and should probably think of splitting them and find some other inter project communication (RPC, HTTP, you-name-it).
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.