Search code examples
elasticsearchneo4jgraphaware

GraphAware neo4j-to-elasticsearch plugin exclude nodes by properties


I'm using neo4j-to-elasticsearch plugin in order to index in ES all of my Decision nodes with the following configuration -

<NEO4J_com_graphaware_module_ES_node>hasLabel('Decision')</NEO4J_com_graphaware_module_ES_node>

I need to exclude some of the Decision nodes (to be indexed in ES) based on some node properties, for example I don't want to index Decision where decision.hidden is true. Is it possible to extend my neo4j-elasticsearch to support it ?


Solution

  • Yes it is definitely possible with Inclusion Policies, for your use case it would be like :

    #optional, specify which nodes to index in Elasticsearch, defaults to all nodes
    com.graphaware.module.ES.node=hasLabel('Decision') && getProperty('hidden') != true
    

    The reference about possible options is here :

    https://github.com/graphaware/neo4j-framework/tree/master/common#inclusion-policies