Closed nguyenhuuloc304 closed 5 years ago
Hi,
Couple of things
com.graphaware.module.UIDM.node=hasLabel('Label1') || hasLabel('Label2')
That line specifies that only the nodes with Label1 or Label2 labels will get an uuid assigned, uuid needed for replication, I suppose you do not have nodes with such labels
com.graphaware.module.ES.node=hasLabel('Person')
Same here, do you have Person nodes ?
Hi @ikwattro,
Yes, I have Person nodes. I did with existing data. I tried to set com.graphaware.module.ES.initializeUntil=2000000000000. Then it worked. But i'm not sure that i can fully understand meaning of this value. Anyway, thank you for your support and I will close this issue. I think the root cause does not belong to neo4j-to-elasticsearch.
@nguyenhuuloc304 This is the meaning :
The Elasticsearch Integration configuration is described in the inline comments above. The only property that needs a little more explanation is com.graphaware.module.ES.initializeUntil:
Every GraphAware Framework Module has methods (initialize() and reinitialize()) that provide a mechanism to get the world into a state equivalent to a situation in which the module has been running since the database was empty. These methods kick in in one of the following scenarios:
The database is not empty when the module has been registered for the first time (GraphAware Framework used on an existing database)
The configuration of the module has changed since the last time it was run
Some failure occurred that causes the Framework to think it should fix things.
We've decided that we should not shoot the whole database at Elasticsearch in one of these scenarios automatically, because it could well be quite large. Therefore, in order to trigger (re-)indexing, i.e. sending every node that should be indexed to Elasticsearch upon Neo4j restart, you have to manually intervene.
The way you intervene is set the com.graphaware.module.ES.initializeUntil to a number slightly higher than a Java call to System.currentTimeInMillis() would return when the module is starting. This way, the database will be (re-)indexed once, not with every following restart. In other words, re-indexing will happen iff System.currentTimeInMillis() < com.graphaware.module.ES.initializeUntil. If you're not sure what all of this means or don't know how to find the right number to set this value to, you're probably best off leaving it alone or getting in touch for some (paid) support.
Hi,
I did an integration Neo4j and Elasticsearch following the instruction. But it did not work:
I had Neo4j Interprise 3.5.0 ElasticSearch 6.5.4
In Neo4j Plugin: graphaware-neo4j-to-elasticsearch-3.5.0.53.11.jar graphaware-server-enterprise-all-3.5.0.53.jar graphaware-uuid-3.5.0.53.17.jar
and this is my Neo4j additional config
When I restarted Neo4j, I can see it created 2 index: neo4j-index-node, neo4j-index-relationship. But without document
When I create new node in Neo4j and even restart Neo4j again. There still was no document in ElasticSearch.
I just begin with Elastichsearch. So what did I miss any step? Everyone can help me? how to make it work?