并行节点搜索

用于并行(如果可能)查找节点的实用工具。这些过程返回一个节点列表,或者包含节点 ID、标签以及执行搜索所依据的属性的“简化”记录列表。

限定名称 类型

apoc.search.node
apoc.search.node(labelPropertyMap ANY, operator STRING, value STRING) - 返回在多个索引上进行并行搜索后找到的所有不同 NODE 值。

过程

apoc.search.nodeAll
apoc.search.nodeAll(labelPropertyMap ANY, operator STRING, value STRING) - 返回在多个索引上进行并行搜索后找到的所有 NODE 值。

过程

apoc.search.nodeReduced
apoc.search.nodeReduced(labelPropertyMap ANY, operator STRING, value STRING) - 返回在多个索引上进行并行搜索后找到的不同 NODE 值的简化表示。简化的 NODE 值表示包括:节点 ID、节点标签和搜索的属性。

过程

apoc.search.nodeAllReduced
apoc.search.nodeAllReduced(labelPropertyMap ANY, operator STRING, value ANY) - 返回在多个索引上进行并行搜索后找到的 NODE 值的简化表示。简化的 NODE 值表示包括:节点 ID、节点标签和搜索的属性。

过程

这些过程需要传入以下参数:

labelPropertyMap

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

(JSON 或 MAP) 对于每一种“标签-属性”组合,都将尽可能并行执行搜索:Label1.propertyOne、label2.propOne 以及 label2.propTwo。

searchType

'exact'(精确)、'contains'(包含)、'starts with'(以...开头)或 'ends with'(以...结尾)

不区分大小写的字符串搜索运算符

searchType

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

运算符

search

'Keanu'

实际的搜索词(字符串、数字等)。

示例
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 *