【问题标题】:Can range index creation be scheduled in MarkLogic?可以在 MarkLogic 中安排范围索引创建吗?
【发布时间】:2019-12-03 06:07:55
【问题描述】:

MarkLogic 版本 - 9

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

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

collection2:库存 文档数 - 100M

collection3:付款 文档数 - 50M

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

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

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

【问题讨论】:

    标签: marklogic marklogic-9


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      HTH!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-23
        • 1970-01-01
        • 2020-02-03
        • 2021-11-25
        • 2021-12-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多