2016-06-14 53 views
-1

从关系型世界出发,我正在寻找对我的文档的id字段使用某种身份/自动递增机制。 MarkLogic有什么设置的?MarkLogic文档标识列

其次,是它然后适当使用所述ID字段中的URI时文档中ML被PUT(即/书籍/ 123)?

+0

对文档的快速浏览(你看,是吧?)表示文档是由一个唯一的URI标识的。该文档涵盖了为新创建的文档生成唯一的URI。那是你在找什么? –

+0

您可以发布文档的链接来生成唯一的URI吗? –

+0

请学习如何做你自己的研究。可以用“这里是文档的链接”回答的问题在StackOverflow上被认为是无关紧要的。 –

回答

3

文档的唯一标识符是其URI。一个URI可以是(几乎)任何字符串。然而,大多数人在实施定义URI的策略时使用了几种约定。例如,您可以使用斜杠(如UNIX路径)来定义(隐式)目录。添加扩展名也很有帮助,例如.xml.json以指示文档的MIME类型。

我建议你远离顺序标识符。你需要锁定任何产生数字的东西。在保证一致性的分布式系统中,如MarkLogic,这是非常昂贵的。连续数字也使整合数据变得更加困难。如果其他书籍从同一个种子开始呢?

我建议使用像在你的URI一个UUID的东西提供全球唯一没有锁定。

+0

谢谢贾斯汀。我只是想知道,因为我决定使用PojoRepository,其中Pojo需要有一个@Id(与文档的uri对应),有没有办法让我使用这个DocumentUriTemplate(即从模板中调用一些方法那会返回唯一的uri)? –

+0

@ CarlosJaimeC.DeLeon不,因为PojoRepository根据自己的规则生成URI,所以DocumentUriTemplate和PojoRepository之间没有集成。如何使用java.util.UUID生成ID? –