Parallel Node Search

Utility to find nodes in parallel (if possible). These procedures return a single list of nodes or a list of 'reduced' records with node id, labels, and the properties where the search was executed upon.

Qualified Name Type

apoc.search.node
apoc.search.node(labelPropertyMap ANY, operator STRING, value STRING) - returns all the distinct NODE values found after a parallel search over multiple indexes.

Procedure

apoc.search.nodeAll
apoc.search.nodeAll(labelPropertyMap ANY, operator STRING, value STRING) - returns all the NODE values found after a parallel search over multiple indexes.

Procedure

apoc.search.nodeReduced
apoc.search.nodeReduced(labelPropertyMap ANY, operator STRING, value STRING) - returns a reduced representation of the distinct NODE values found after a parallel search over multiple indexes. The reduced NODE values representation includes: node id, node labels, and the searched properties.

Procedure

apoc.search.nodeAllReduced
apoc.search.nodeAllReduced(labelPropertyMap ANY, operator STRING, value ANY) - returns a reduced representation of the NODE values found after a parallel search over multiple indexes. The reduced NODE values representation includes: node id, node labels, and the searched properties.

Procedure

These procedures are passed the following parameters:

labelPropertyMap

'{ label1 : "propertyOne", label2 :["propOne","propTwo"] }'

(JSON or MAP) For every Label-Property combination a search will be executed in parallel (if possible): Label1.propertyOne, label2.propOne and label2.propTwo.

searchType

'exact' or 'contains' or 'starts with' or 'ends with'

Case insensitive string search operators

searchType

"<", ">", "=", "<>", "⇐", ">=", "=~"

Operators

search

'Keanu'

The actual search term (string, number, etc).

example
CALL apoc.search.nodeAll('{Person: "name",Movie: ["title","tagline"]}','contains','her') YIELD node AS n RETURN n
call apoc.search.nodeReduced({Person: 'born', Movie: ['released']},'>',2000) yield id, labels, properties RETURN *