Elasticsearch 中的图像和文档 upload/download

Image and document upload/download in Elasticsearch

我希望使用图像和文件围绕 Elasticsearch 构建一个应用 upload/download。因此,用户上传图像或文档(PDF、Word 等),图像被存储,稍后由用户和管理员检索。看起来 Elastic 可以 import/ingest 来自文件和图像的数据,但我不清楚 image/file 本身是否可以上传和检索。我只需要知道这是否可能。如果不是,我需要在我的应用程序中包含另一个系统。

ES不是一个文件系统,它只是一个搜索引擎,你可以将你的文件存储在es之外。

您需要先摄取附件处理器,以便将任何媒体文件存储到 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"
      }
    }
  ]
}

这里 "data" 是您要存储媒体文件的文件名。

之后就可以成功的将文档插入到index.html中了。对于前。

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

数据字段需要媒体文件的编码 Base64 字符串。

所以首先你需要将媒体文件转换为字节数组到Base64编码的字符串。

来源是:Attachment in elasticsearch