我正在尝试索引一个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指南针中看到的方式来查看数据。
1条答案
按热度按时间6ie5vjzr1#
您的
fieldData.fieldHTMLText
字段可能是Buffer
类型,您只需在该字段上调用fieldData.fieldHTMLText.toString()
即可将缓冲区转换为字符串。PS:这个问题与Kibana无关,Kibana向你显示了你发送给Elasticsearch的内容,即一个缓冲区。所以这个问题更多的是与你对Node.js数据结构的理解有关(即缓冲区与字符串);- )