Marklogic 是否能够仅在特定集合中的文档上创建范围索引
Does Marklogic have ability to create range index only on documents in specific collection
MarkLogic 版本 - 9
考虑一下 - 我有 3 个包含大量文档的集合。
collection1:订单
文档数 - 10M
元素 - 订单号
collection2:库存
文档数 - 100M
collection3:付款
文档数 - 50M
Ex:我们想为 collection1(Order) 中的所有文档的元素 "orderNumber" 创建一个范围索引。这不是一次性的事情,我们的代码需要根据用户操作在文档中的不同元素上创建动态范围索引。
对于我们试图为其创建范围索引的元素,我们已经知道哪些集合文档具有该元素。如果该元素存在于其他集合文档中,我们也对该元素不感兴趣。
那么我们可以在特定集合中的可用元素上创建范围索引,而不是重新索引 MarkLogic 中可用的所有文档(10M + 100M + 50 M)吗?
由于此范围索引的创建是由 UI 中的用户操作触发的,我们不希望数据库在尝试索引数据库中的所有可用文档时大幅减慢速度。
不,MarkLogic 索引始终应用于它们所属的整个数据库。
但是您可以使用路径范围索引。仅当路径足够具体时,索引器才应该能够定位 Order 文档,从而节省(重新)索引时间和内存。
HTH!
从应用的角度来看,有两种切分方法:
(1) 正如 Geert 所说,看看您是否可以使用路径范围索引并将数据建模为 select 您想要的文档。
(2) 为所有内容建立索引,但限制在集合查询中使用该索引。
MarkLogic 版本 - 9
考虑一下 - 我有 3 个包含大量文档的集合。
collection1:订单 文档数 - 10M 元素 - 订单号
collection2:库存 文档数 - 100M
collection3:付款 文档数 - 50M
Ex:我们想为 collection1(Order) 中的所有文档的元素 "orderNumber" 创建一个范围索引。这不是一次性的事情,我们的代码需要根据用户操作在文档中的不同元素上创建动态范围索引。
对于我们试图为其创建范围索引的元素,我们已经知道哪些集合文档具有该元素。如果该元素存在于其他集合文档中,我们也对该元素不感兴趣。
那么我们可以在特定集合中的可用元素上创建范围索引,而不是重新索引 MarkLogic 中可用的所有文档(10M + 100M + 50 M)吗?
由于此范围索引的创建是由 UI 中的用户操作触发的,我们不希望数据库在尝试索引数据库中的所有可用文档时大幅减慢速度。
不,MarkLogic 索引始终应用于它们所属的整个数据库。
但是您可以使用路径范围索引。仅当路径足够具体时,索引器才应该能够定位 Order 文档,从而节省(重新)索引时间和内存。
HTH!
从应用的角度来看,有两种切分方法: (1) 正如 Geert 所说,看看您是否可以使用路径范围索引并将数据建模为 select 您想要的文档。 (2) 为所有内容建立索引,但限制在集合查询中使用该索引。