可以在 MarkLogic 中安排范围索引创建吗?

Can range index creation be scheduled in MarkLogic?

MarkLogic 版本 - 9

考虑一下 - 我有 3 个包含大量文档的集合。

collection1:订单 文档数 - 10M 元素 - 订单号

collection2:库存 文档数 - 100M

collection3:付款 文档数 - 50M

Ex:我们想为 collection1(Order) 中的所有文档的元素 "orderNumber" 创建一个范围索引。这不是一次性的事情,我们的代码需要根据 UI.

中的用户操作在文档中的不同元素上创建动态范围索引。

由于此范围索引的创建是由 UI 中的用户操作触发的,我们不希望数据库在尝试索引数据库中的所有可用文档时大幅减慢速度。

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

重建索引本身相当快,通常不是 'massive slow downs' 的原因。不过,如果您愿意,可以降低油门。您可以在管理 UI.

数据库的“配置”选项卡下找到它

重建索引会导致删除片段,而这又会触发合并。合并通常是最慢的过程。您还可以限制合并,甚至可以设置 Blackout Periods for Merges.

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

HTH!

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

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