配置选项

配置选项的位置

APOC 的配置选项可以通过以下方式设置:

选项 描述

环境变量

可通过 export key=val 设置,或者在 Docker 中使用 --env 设置。

apoc.conf

必须放置在与 neo4j.conf 相同的文件夹中(默认位于 neo4j/conf)。

上表的顺序与配置选项的优先级一致。例如,任何环境变量设置都会覆盖 apoc.conf 中设置的选项。

安装 APOC 插件时不会自动创建 apoc.conf 文件。用户必须自行创建该文件。

此外,从 Neo4j v.5 开始,neo4j.conf 文件不再支持 APOC 配置设置。用户应将所有 apoc.* 设置迁移到 apoc.conf 文件中。

也可以使用环境变量来设置配置参数。

配置选项参考

表 1. apoc.export.file.enabled

描述

启用将本地文件写入磁盘。

有效值

布尔值 (BOOLEAN)

默认值

false

表 2. apoc.import.file.enabled

描述

启用从磁盘读取本地文件。

有效值

布尔值 (BOOLEAN)

默认值

false

表 3. apoc.import.file.use_neo4j_config

描述

如果启用,此设置将控制是否允许文件系统访问,并可能通过读取两个配置参数 dbms.security.allow_csv_import_from_file_urlsserver.directories.import 将其限制在特定目录内。

有效值

布尔值 (BOOLEAN)

默认值

true

表 4. apoc.http.timeout.connect

描述

设置与 URI 通信时使用的指定超时值(以毫秒为单位)。如果在连接建立前超时,则会抛出异常。超时值设为 0 表示无限超时。

有效值

INTEGER(整数)

默认值

10000

表 5. apoc.http.timeout.read

描述

设置与 URI 通信时使用的指定超时值(以毫秒为单位)。如果在可读取数据前超时,则会抛出异常。超时值设为 0 表示无限超时。

有效值

INTEGER(整数)

默认值

60000

表 6. apoc.jobs.scheduled.num_threads

描述

apoc.periodic 过程依赖于一个具有固定大小默认线程池的定时执行程序。该池的大小可以使用此配置属性进行配置。

有效值

INTEGER(整数)

默认值

CPU 核心数 / 4

表 7. apoc.jobs.pool.num_threads

描述

用于后台执行的默认 APOC 线程池中的线程数。

有效值

INTEGER(整数)

默认值

CPU 核心数 * 2

表 8. apoc.jobs.queue.size

描述

ThreadPoolExecutor 工作队列的大小。

有效值

INTEGER(整数)

默认值

apoc.jobs.pool.num_threads * 5

表 9. apoc.spatial.geocode.provider

描述

地理编码提供程序配置。键和值取决于具体的提供程序,请参阅 配置地理编码提供程序

有效值

STRING: "osm", "google", "opencage"

默认值

osm

表 10. apoc.trigger.enabled

描述

启用 apoc.trigger 包中的过程。

有效值

布尔值 (BOOLEAN)

默认值

false

表 11. apoc.trigger.refresh

描述

触发器刷新率(以毫秒为单位)。刷新率指的是数据库在检查是否有新的触发器被安装、删除或停止之前所等待的时间。

有效值

INTEGER(整数)

默认值

60000

表 12. apoc.max.decompression.ratio

描述

在加载过程中,限制解压文件相对于压缩文件的最大大小。如果为负数,则不对解压后的大小进行限制。

有效值

非 0 整数

默认值

200

命令扩展

命令扩展提供了一种额外的 APOC 配置能力,允许指定从外部文件获取值的脚本。这对于以下情况特别有用:

  • 避免在 apoc.conf 文件中以明文形式设置敏感信息,如用户名、密码、密钥等。

  • 在无法访问文件系统的环境中处理实例的配置设置。

这些脚本可以在 apoc.conf 文件中指定。它们必须以 $ 开头并包含在括号 () 中。例如:apoc.setting=$(script_to_execute)

APOC 利用了 Neo4j 的命令扩展功能。有关更多信息,请参阅 操作手册 → Neo4j 配置文件

要启用命令扩展,Neo4j 启动时必须带有 --expand-commands 参数。

bin/neo4j start --expand-commands

如果启动脚本未接收到 --expand-commands 参数,配置文件中的命令将被视为无效设置。