首页 > 解决方案 > 如何避免与附加文档中的索引字段同名的字段的范围索引错误?

问题描述

对于我的项目,我必须从各种来源获取和管理数据。我通过使用流的数据中心框架来做到这一点。我所有不同的来源都有一个名为“日期”的字段。然而,它们都以不同的形式出现,例如 yyyy-mm-dd、yyyymmdd、dd.mm.yyyy。

我通过映射到一种常见格式 yyyy-mm-dd 的步骤进行管理。映射后,该字段仍称为“日期”。

因为我希望能够进行范围搜索,所以我需要一个关于我的“日期”的索引。然而,当摄取数据时,这会导致错误,因为摄取数据的“日期”字段尚未映射到正确的格式。

我的解决方案是不拒绝 STAGING 数据库的无效值。但是,由于旧文档附加在经过策划的新文档的信封中,该新文档在映射后移动到最终数据库,我收到附加文档的范围索引错误。

我想拒绝最终数据库中的无效值,但我也想将原始文档作为附件保留在最终文件中。

到目前为止,我能看到的唯一解决方案是将 FINAL 数据库中的“日期”元素命名为 iDate 之类的名称,以避免冲突。

这对我来说似乎不是一个干净的解决方案。你有更好的建议吗?

我在用:

标签: marklogicmarklogic-dhf

解决方案


如果您使用路径范围索引,则可以将其限制为仅date在顶级实例中而不在附件中的元素。

有关使用路径范围索引的详细信息,请参阅https://docs.marklogic.com/guide/admin/range_index#id_40666


推荐阅读