可以在MarkLogic中计划范围索引创建吗?

可以在MarkLogic中计划范围索引创建吗?,marklogic,marklogic-9,Marklogic,Marklogic 9,MarkLogic版本-9 考虑一下——我有3个收藏,里面有大量的文档 收藏1:订购 文件计数-10米 元素-订单号 收集2:库存 文件数量-100万 收款3:付款 文件计数-50米 例如:我们想为collection1(Order)中的所有文档的元素“orderNumber”创建一个范围索引。这不是一次性的,我们的代码需要根据用户在UI中的操作在文档中的不同元素上创建动态范围索引 由于此范围索引创建是由用户在UI中的操作触发的,因此我们不希望DB在索引DB中所有可用文档时大幅降低速度 那么我们

MarkLogic版本-9

考虑一下——我有3个收藏,里面有大量的文档

收藏1:订购 文件计数-10米 元素-订单号

收集2:库存 文件数量-100万

收款3:付款 文件计数-50米

例如:我们想为collection1(Order)中的所有文档的元素“orderNumber”创建一个范围索引。这不是一次性的,我们的代码需要根据用户在UI中的操作在文档中的不同元素上创建动态范围索引

由于此范围索引创建是由用户在UI中的操作触发的,因此我们不希望DB在索引DB中所有可用文档时大幅降低速度


那么我们可以根据停机时间安排在MarkLogic中重新编制索引吗?

重新编制索引本身相当快,通常不是“大规模减速”的原因。如果你愿意,你可以降低油门。您可以在管理UI中数据库的配置选项卡下找到它

然而,重新索引将导致删除的片段,这反过来将触发合并。合并通常是最慢的过程。您还可以限制合并,甚至设置

重要提示:小心使用断电。长时间不合并会降低MarkLogic的整体性能。


当您进行大量更新时,如果长时间不合并,可能会造成林分数量超过硬限制,并且您的森林无法使用的情况。我还想说的是,运行reindex总是比在摄取时拥有正确的索引设置更昂贵:您将为额外的更新、额外的合并支付费用,等。重新编制索引将只处理与特定索引设置相关的尽可能多的文档:如果这是所有文档,则至少需要与初始加载相同的时间

我还想说,如果您的代码希望定期更改索引设置,那么您就做错了。索引配置预计是稳定的