3.8. 后台索引

CouchDB 中的辅助索引不会在文档写入操作期间更新。为了避免在写入大量数据后读取索引时出现高延迟,CouchDB 会自动启动后台作业来保持辅助索引“热”。负责此过程的守护进程在内部被称为“ken”,可以使用以下设置进行配置。

[ken]
batch_channels

此设置控制在任何给定时间可以并行运行的后台视图构建数量。默认值为 20。

incremental_channels

所有正常构建系统中的插槽都可能被长时间运行的索引重建占用(例如,如果新的设计文档同时发布到多个数据库)。为了避免这种情况发生时已经构建的索引落后,CouchDB 将允许运行一定数量的短期后台索引作业,即使所有插槽都已满。此设置控制允许与主作业同时运行的额外短期作业数量。默认值为 80。

max_incremental_updates

CouchDB 通过查看当前索引和主数据库之间的序列号差异来估计索引作业是“增量”还是“非增量”。如果差异大于此处定义的阈值,则后台作业将只允许在主队列中运行。默认为 1000。

[ken.ignore]

此配置部分中的条目可用于告诉后台索引器跳过特定数据库分片文件。键必须是分片的精确名称,省略 .couch 后缀,例如

[ken.ignore]
shards/00000000-1fffffff/mydb.1567719095 = true

注意

如果您想跳过 ddoc 中的所有视图,可以在 ddoc 中添加 autoupdate: false。然后将跳过该 ddoc 的所有视图。

更多信息请参见 PUT /{db}/_design/{ddoc}.