2017-12-04 118 views
0

画像とファイルのアップロード/ダウンロードを使用してElasticsearchでアプリを構築したいと考えています。ユーザーがイメージやドキュメント(PDF、Wordなど)をアップロードし、イメージが保存され、後でユーザーと管理者によって取得されます。 Elasticはファイルや画像からデータをインポート/取り込むことができますが、画像/ファイル自体をアップロードして取得できるかどうかはわかりません。私はそれが可能かどうかを知る必要があります。そうでなければ、私のアプリに別のシステムを組み込む必要があります。Elasticsearchで画像と文書のアップロード/ダウンロード

答えて

2

まず、メディアファイルを格納するためのアタッチメントプロセッサをelasticsearchに取り込む必要があります。

So first you need to install elasticsearch plugin.

sudo bin/elasticsearch-plugin install ingest-attachment 

ここ

PUT _ingest/pipeline/attachment 
{ 
    "description" : "Extract attachment information", 
    "processors" : [ 
    { 
     "attachment" : { 
     "field" : "data" 
     } 
    } 
    ] 
} 

この取り込みパイプラインプロセッサの後に "データ" あなたは、メディアファイルを格納したいあなたの提出の名前です。

これで、文書を正常にインデックスに挿入できます。例えば、

PUT my_index/my_type/my_id?pipeline=attachment 
{ 
    "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0=" 
} 

データフィールドには、メディアファイルのエンコードされたBase64文字列が必要です。

まず、メディアファイルをバイト配列に変換してBase64でエンコードされた文字列に変換する必要があります。

ソースは次のとおりです。Attachment in elasticsearch

+0

私はあなたが私はこれを実行するのは非効率的であり得ることを、弾性検索チームによって知らされたものに注意することができます場合は、正しい答えとしてこれを選択するために幸せになります。 – BBaysinger

0

ESはファイルシステムではなく、単なる検索エンジンなので、ファイルを保存することができます。

関連する問題