2016-06-14 60 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? –