2017-07-14 8 views
0

私は電子書籍を持っています。テキストファイルと画像の両方を含んでいます。私の場合、どの画像でも、店舗ではなく、同じMarklogic Server内のファイルシステム(xdmp:saveを使用)に保存する必要があります。Java経由でXQuery evalを使用してMarkLogic Serverファイルシステムにファイルをアップロード

Q:marklogic-XCC のJava APIを使用してMarklogicサーバーファイルシステムに画像(または任意のバイナリ資産)をアップロードする方法はありますか?

私はcom.marklogic.xcc.Session#insertContentを試しましたが、コンテンツをデータベースにアップロードするため、ファイルシステムが必要です。

ありがとうございました!

答えて

1

1Mbより大きいバイナリは、デフォルトでMarkLogicデータベース内ではなくディスクに保存されます。 Forestデータ内に保持されますが、ドキュメントプロパティを持つことができ、バックアップなどに含まれます。私は、特にMarkLogicを使ってそれらをフェッチすることを計画している場合は、普通のファイルシステムからのバイナリを扱うことを推奨します。

詳しくは、「アプリケーション開発者ガイド」のWorking With Binary Documentsの章を参照してください。

HTH!

+0

明示的に設定する必要があります。電子書籍の構造は、ディスク上に画像を持ち、軽量リンク(シンプルなXML)をデータベースに対応させる必要があります。 ありがとうございました! – eugenes

0

外部バイナリは、あなたが宣言する目的を果たします。 https://docs.marklogic.com/xdmp:external-binaryデータベースにはメタデータのみの表現があり、明示的に指定する実際の 'ファイル'はローカルファイル、httpまたはaws S3ファイルです。この結果、MarkLogicは実際のファイルやコンテンツをどのようにも「管理」しておらず、参照のみとなっています。そのファイルはすべてのサーバーでアクセス可能であることを確認し、バックアップ、コピーなどを行います。ファイルの内容はトランザクション、検索可能、索引付けされていません。実際には、実際に存在する必要はなく、「疎」バックエンドストレージを表すこともできます。

grtjnと同じことをおすすめします。絶対にする必要がない限り、外部バイナリの代わりにバイナリを使用してください。バイナリには、データベースのすべてのトランザクション、バックアップ、および分散機能と、「単なる古いバイナリファイル」のすべての機能があります。ただし、アクセスにはML APIを使用する必要があります。

関連する問題