marklogic - 如何避免与附加文档中的索引字段同名的字段的范围索引错误?
问题描述
对于我的项目,我必须从各种来源获取和管理数据。我通过使用流的数据中心框架来做到这一点。我所有不同的来源都有一个名为“日期”的字段。然而,它们都以不同的形式出现,例如 yyyy-mm-dd、yyyymmdd、dd.mm.yyyy。
我通过映射到一种常见格式 yyyy-mm-dd 的步骤进行管理。映射后,该字段仍称为“日期”。
因为我希望能够进行范围搜索,所以我需要一个关于我的“日期”的索引。然而,当摄取数据时,这会导致错误,因为摄取数据的“日期”字段尚未映射到正确的格式。
我的解决方案是不拒绝 STAGING 数据库的无效值。但是,由于旧文档附加在经过策划的新文档的信封中,该新文档在映射后移动到最终数据库,我收到附加文档的范围索引错误。
我想拒绝最终数据库中的无效值,但我也想将原始文档作为附件保留在最终文件中。
到目前为止,我能看到的唯一解决方案是将 FINAL 数据库中的“日期”元素命名为 iDate 之类的名称,以避免冲突。
这对我来说似乎不是一个干净的解决方案。你有更好的建议吗?
我在用:
- 7
- 马克逻辑 10
- Marklogic 数据中心 5.2.3
解决方案
如果您使用路径范围索引,则可以将其限制为仅date
在顶级实例中而不在附件中的元素。
有关使用路径范围索引的详细信息,请参阅https://docs.marklogic.com/guide/admin/range_index#id_40666。
推荐阅读
- ios - 我们能否检测到用户是否在后台关闭了互联网?
- java - 为什么我无法在 java 中读取大数据文件?
- postgresql - 为什么sql文件的格式会影响它们是否可以在PG中运行?
- javascript - 如何修复未链接到用于排序数据的功能的按钮?(只有javascript,没有jquery)
- google-apps-script - 从已部署的网络应用程序中的类中获取值 - Google 应用程序脚本
- python - 图像周围有一个环,它被添加到窗口中。如何删除它?
- graph - GraphDB账户建模:用户访问关系属性还是关系?
- c# - 防止密码暴露(GetNetworkCredential 方法)
- c# - 当 web 应用程序在 .net core (2.2) 中作为服务运行时如何设置远程 url
- python - Pandas 从一个数据帧中删除不在另一个数据帧索引中的列 - 错误 TypeError: unhashable type: 'numpy.ndarray'