The start method in ElasticSearchModule is synchronously waiting for reindex to be done before returning.
While start has not returned, the Cypher extensions (ga.es.initialized, ga.es.queryNode etc.) are not registered, i.e. calling them will trigger an error.
This means that, when indexing a big database, the plugin will be in an semi-initialized state during the whole duration of the initial indexation.
Proposal: reindex should be async, and be run in a different thread to avoid blocking start from returning.
The
start
method inElasticSearchModule
is synchronously waiting forreindex
to be done before returning. Whilestart
has not returned, the Cypher extensions (ga.es.initialized
,ga.es.queryNode
etc.) are not registered, i.e. calling them will trigger an error. This means that, when indexing a big database, the plugin will be in an semi-initialized state during the whole duration of the initial indexation.Proposal:
reindex
should be async, and be run in a different thread to avoid blockingstart
from returning.