【问题标题】:How to "ingest" a base64 encoded document/attachment using Elasticsearch Node.js Client如何使用 Elasticsearch Node.js 客户端“摄取”base64 编码的文档/附件
【发布时间】:2019-12-12 08:07:05
【问题描述】:

Elasticsearch Node.js 客户端:如何摄取 base64 编码的文档。

我已经使用 Kibana 成功创建了一个索引(“描述”)和一个管道(“附件”),以提取 base64 编码的文档。

使用 Elasticsearch Node.js 客户端,然后我调用 client.index() 来处理 base64 编码的文档,但我得到“ResponseError: Exception”返回。

代码包含在这个问题中。

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

// NODE.JS code
// The 'data' variable is base64 encoded
function indexBase64Data(data) {

    console.log(" ");
    console.log("calling client.index()");
    const index = client.index({
        id: 101,
        index: "descriptions",
        pipeline: "attachment",
        body: {
            "data": data
        }
    });
    index.then(() => {
        console.log("Index was successful...");
    },
    (error) => {
        console.error("ERROR in client.index: " + error);
    })

}

// ERROR from client.index() is: "ResponseError: Exception"

我希望 Elasticsearch 能够索引 base64 编码的文档,但我得到这个异常错误:“ResponseError: Exception”

也许 client.index() 不是正确的调用。如果是这样,我想要一个关于如何使用 Elasticsearch Node.js 客户端摄取附件的建议。

【问题讨论】:

    标签: node.js elasticsearch client


    【解决方案1】:

    答案是base64编码的数据有一个必须去掉的前缀:

    data:application/octet-stream;base64,Ym9vazoxfGFiY3xkZWYKYm9vazoyfE1ha2luZyB0aGUgTW9kZXJuIFdvcmxkfFZhY2xhdiBTbWlsCmJvb2s6M3xUYXAgRGFuY2luZyB0byBXb3JrOiBXYXJyZW4gQnVmZmV0fENhcm9sIExvb21pcwpib29rOjZ8VGhlIEhlYWRzcGFjZSBHdWlkZSB0byBNZWRpdGF0aW9uIGFuZCBNaW5kZnVsbmVzc3xBbmR5IFB1ZGRpY29tYmUKYm9vazo3fDIxIExlc3NvbnMgZm9yIHRoZSAyMXN0IENlbnR1cnl8WXV2YWwgTm9haCBIYXJhcmkKYm9vazo4fEJhZCBCbG9vZHxKb2huIENhcnJleXJvdQpib29rOjl8QXJteSBvZiBOb25lOiBBdXRvbm9tb3VzIFdlYXBvbnMgYW5kIHRoZSBGdXR1cmUgb2YgV2FyfFBhdWwgU2NoYXJyZQpib29rOjEwfEVkdWNhdGVkfFRhcmEgV2VzdG92ZXIK
    

    去掉前缀“data:application/octet-stream;base64”,代码就可以工作了。

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 2017-11-22
      • 2017-12-28
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      相关资源
      最近更新 更多