【问题标题】:Does Marklogic have ability to create range index only on documents in specific collectionMarklogic 是否有能力仅在特定集合中的文档上创建范围索引
【发布时间】:2019-12-03 06:02:21
【问题描述】:

MarkLogic 版本 - 9

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

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

collection2:库存 文档数 - 100M

collection3:付款 文档数 - 50M

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

对于我们尝试为其创建范围索引的元素,我们已经知道哪些集合文档具有该元素。如果该元素存在于其他集合文档中,我们也对该元素不感兴趣。

那么我们是否可以在特定集合中的可用元素上创建范围索引,而不是重新索引 MarkLogic 中可用的所有文档(10M + 100M + 50M)?

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

【问题讨论】:

    标签: marklogic marklogic-9


    【解决方案1】:

    不,MarkLogic 索引始终适用于它们所属的整个数据库。

    但是,您可以使用路径范围索引。只有当路径足够具体时,索引器才能定位订单文档,从而节省(重新)索引时间和内存。

    HTH!

    【讨论】:

      【解决方案2】:

      从应用程序的角度来看,有两种方法可以对此进行切片: (1) 正如 Geert 所说,看看您是否可以使用路径范围索引并对数据进行建模以仅选择所需的文档。 (2) 为所有内容编制索引,但限制对该索引的使用与集合查询。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-17
        • 1970-01-01
        • 2013-11-23
        • 2019-02-27
        相关资源
        最近更新 更多