Elasticsearch将数据显示为Kibana中的缓冲区类型

bis0qfac  于 2022-12-09  发布在  Kibana
关注(0)|答案(1)|浏览(176)

我正在尝试索引一个json到ElasticSearch。
它似乎工作正常,因为它没有给出任何错误。
我已经索引文件如下。

await client.index({
            id: fieldId.toString(),
            index: 'project_documents_textfielddata',
            body: {
              FieldId: fieldId,
              DocumentId: documentId,
              Value: fieldData.fieldHTMLText,
            },
            routing: projectId.toString(),
          });

但在elasticsearch kibana中,它显示为如下的缓冲区类型(我截断了缓冲区,因为它很长)。

{
  "_index": "documenttextfile.files",
  "_id": "6252ab411deaba21fd877c26",
  "_version": 1,
  "_score": 1,
  "_routing": "62505a765ff176cd491f1d1e",
  "_source": {
    "id": "6252ab411deaba21fd877c26",
    "Content": {
      "type": "Buffer",
      "data": [
        10,
     // Some extra large binary content removed for convenient
      48,
      56,
      50,
    ],
    "id": [
      "6252ab411deaba21fd877c26"
    ],
    "Content.type.keyword": [
      "Buffer"
    ]
  }
}

那么我怎样才能在Kibana中看到我的数据呢?我看过很多Kibana的教程,他们可以看到纯文本格式的数据,而不是缓冲区。
或者我在索引时做错了什么吗?我基本上是在尝试以我们在mongodb指南针中看到的方式来查看数据。

6ie5vjzr

6ie5vjzr1#

您的fieldData.fieldHTMLText字段可能是Buffer类型,您只需在该字段上调用fieldData.fieldHTMLText.toString()即可将缓冲区转换为字符串。
PS:这个问题与Kibana无关,Kibana向你显示了你发送给Elasticsearch的内容,即一个缓冲区。所以这个问题更多的是与你对Node.js数据结构的理解有关(即缓冲区与字符串);- )

相关问题