2016-06-20 5 views
0

に埋め込まれたバイナリ添付ファイルのリストをJSONドキュメント:保存例えば実体を考えるMarkLogic

public class Page { 
    private String description; 
    private List<File> attachments; //is it a File or maybe bytes??? 
} 

は、それが可能(あるいはお勧め)添付ファイルとしてでMarkLogicにJSON文書としてこれを保存することです埋め込みドキュメント?

その場合:

  1. どのように?混合w /バイナリデータの場合でも、client.newJSONDocumentManager()を使用するだけです。
  2. JSONドキュメントの添付ファイルフィールドは各ファイルのファイル名を保持しますか?

これ以外の場合は、ページをJSONドキュメントとして保存し、添付ファイルごとにMarkLogicの別個のバイナリドキュメントとして保存する必要がありますが、どのように相互に関連付けるか(どのようにそれらを外国語キー)?

答えて

2

選択したデータを整理できます。通常は、各バイナリドキュメント/添付ファイルをML Serverに独自のURIを持つ独自のドキュメントとして記述します。一般的には、あなたのアプリケーションでそれぞれのURIを選択します。したがって、親文書にそのurisのリストを追加することができます。

{ description: "some description", 
    attachments: [ 
    "/my/dir/attachments/attachment_1.bin", 
    "/my/dir/attachments/attachment_2.bin", 
    "/my/dir/attachments/attachment_3.bin" 
    ] 
} 

親ドキュメントとバイナリ添付ファイルの両方を含むバッチは、DocumentWriteSetを使用して作成できます。 JSONDocumentManager.write(documentWriteSet)を使用してサーバーに送信できます(Writing Multiple Documentsを参照)。

+0

Thanks Sam。親文書を読み込むときに、埋め込まれたバイナリ添付ファイル(おそらくBase64でエンコードされたいくつかの文字列として埋め込まれている)を強制的に読み込まないように、このようにすることを提案しましたか? –