marklogic - 如何在二进制文档上设置时间轴?
问题描述
我对使用二进制文档的单时特性很感兴趣。我在文档中找到了这个注释:
如果时态集合是单时态的并且系统时间轴存储在元数据中,则只能将二进制文档作为时态文档导入。
该参考文献在专门讨论 MLCP 的部分中。
我有几个相关的问题,所以希望可以把它们放在一起。
- 如果通过 REST API 而不是使用 MLCP,轴是需要在元数据中还是可以在属性中?
- 如果它需要在元数据中,是否有创建引用元数据的时间轴的示例?我能找到的所有例子都是基于元素范围索引的。
解决方案
时间时间戳必须在隐藏的元数据字段中,或者在文档片段内。这与您插入文档的方式无关,MLCP 和 REST API 都temporal:document-insert
在幕后使用。将temporal:document-insert
扫描您在该调用中提供的文档片段和元数据,以查找系统时间的适当占位符。属性不包括在该评估中。如果您尝试,插入函数只会抛出 XDMP-NOMATCH。
由于二进制文件不能在文档片段中以可索引的方式保存时间戳值,并且属性不受时间保护,因此必须将它们放在隐藏的元数据字段中。
要在隐藏的元数据字段上创建时间轴,请创建“元数据”类型的字段,并在其上放置字段范围索引。然后在创建轴时参考该字段范围索引。
HTH!
推荐阅读
- java - 为什么我不能使用 Glassfish 服务器发布到 API?
- python - json_normalize:AttributeError 列表 obj 没有属性“值”
- image - Nginx 在接收完整路径时服务单个静态文件失败
- javascript - 一旦我运行“npm run build”并尝试查看已部署的应用程序,我的 js react 应用程序的运行方式就不同了
- c - 指向 c 中的指针的指针,得到意外的值
- python - 在 Raspberry Pi 上使用 Chrome Webdriver 的问题
- java - 测试视图是否存在,但我的方法返回 false - 它应该返回 true
- c# - 如何让我的 Windows 服务查看 ROT 中的对象?
- c++ - 使用线程不安全的静态变量锁定嵌套函数
- java - java中的继承(子类的子类)