graphaware / neo4j-to-elasticsearch

GraphAware Framework Module for Integrating Neo4j with Elasticsearch
261 stars 57 forks source link

Does it support elastic search 5.x? #78

Closed vvavepacket closed 7 years ago

vvavepacket commented 7 years ago

I tried to use ES 5.3 and I noticed that indexes (neo4j-index-node and neo4j-index-relationship) are created... But why is that the nodes are NOT replicated to ES? Here are my neo4j versions:

Neo4j - 3.1.1 ES: 5.3 Library: 3.1.0

Basically, once I created my nodes in neo4j, they already have their own "id" property (which is a uuid). So I dont want the library to generate one for me, instead, it should use the one it already has which is in the property.

Configuration:


#UIDM becomes the module ID:
com.graphaware.module.UIDM.1=com.graphaware.module.uuid.UuidBootstrapper

#optional, default is "uuid". (only if using the UUID module)
com.graphaware.module.UIDM.uuidProperty=id

#optional, default is all nodes:
com.graphaware.module.UIDM.node=hasLabel('DestinationLevel1') || hasLabel('DestinationLevel2')

#optional, default is uuidIndex
com.graphaware.module.UIDM.uuidIndex=uuidIndex

#prevent the whole db to be assigned a new uuid if the uuid module is settle up together with neo4j2es
com.graphaware.module.UIDM.initializeUntil=0

#ES becomes the module ID:
com.graphaware.module.ES.2=com.graphaware.module.es.ElasticSearchModuleBootstrapper

#URI of Elasticsearch
com.graphaware.module.ES.uri=localhost

#Port of Elasticsearch
com.graphaware.module.ES.port=80

#optional, Elasticsearch index name, default is neo4j-index
com.graphaware.module.ES.index=neo4j-index

#optional, node property key of a propery that is used as unique identifier of the node. Must be the same as com.graphaware.module.UIDM.uuidProperty (only if using UUID module), defaults to uuid
#use "ID()" to use native Neo4j IDs as Elasticsearch IDs (not recommended)
com.graphaware.module.ES.keyProperty=id

#optional, whether to retry if a replication fails, defaults to false
com.graphaware.module.ES.retryOnError=false

#optional, size of the in-memory queue that queues up operations to be synchronised to Elasticsearch, defaults to 10000
com.graphaware.module.ES.queueSize=1000

#optional, size of the batch size to use during re-initialization, defaults to 1000
com.graphaware.module.ES.reindexBatchSize=1000

#optional, specify which nodes to index in Elasticsearch, defaults to all nodes
com.graphaware.module.ES.node=hasLabel('DestinationLevel1') || hasLabel('DestinationLevel2')

#optional, specify which node properties to index in Elasticsearch, defaults to all properties
#com.graphaware.module.ES.node.property=key != 'age'

#optional, specify whether to send updates to Elasticsearch in bulk, defaults to true (highly recommended)
com.graphaware.module.ES.bulk=false

#optional, read explanation below, defaults to 0
com.graphaware.module.ES.initializeUntil=0
robgratz commented 7 years ago

Has anyone gotten an answer to this question? Are these versions supported?

ikwattro commented 7 years ago

I missed this issue. Having custom ids works fine, you just need to not install the uuid module.

Regarding 5.3 yes it works without problems.