【问题标题】:Image and document upload/download in Elasticsearch在 Elasticsearch 中上传/下载图像和文档
【发布时间】:2020-03-06 10:40:42
【问题描述】:

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

【问题讨论】:

    标签: elasticsearch elasticsearch-plugin


    【解决方案1】:

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

    【讨论】:

    • 如果您能注意到 Elastic Search 团队告知我的内容,我很乐意选择此作为正确答案,这样做可能效率低下。
    【解决方案2】:

    ES不是文件系统,它只是一个搜索引擎,你可以把你的文件存到es外面。

    【讨论】:

    • 我同意你的建议。
    猜你喜欢
    • 2020-10-12
    • 2016-10-11
    • 2012-05-05
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多