ElasticSearch Logstash 上传日期的空值



我正在尝试使用 logstash (6.3.1( 将文档批量上传到 elasticsearch(6.3( 中。文档中日期中的字段之一。 下面是我的映射类型 `

{
"mappings": {
"users" : {
"properties" : {
"name" : { "type" : "text" },
"location" : { "type" : "geo_point"},
"date": {
"type": "date",
"format": "yyyy-MM-dd"
}
}
}
}

如果没有可用的日期,则我将其设置为null.

Ex csv 上传文档

John, Seattle, null

在上传过程中,logstash 将日期的值读取为"null"(null with quotes(,上传到 elasticsearch 失败,因为它不接受"null"作为迄今为止的有效输入。 我的问题是如何让弹性搜索在从logstash上传时接受null值(null without quotes(作为日期?

不要将其设置为null(作为 csv 文件数据中的字符串(。将其设置为无/无值作为全部(即对于不存在该值的任何此类字段,您的 csv 文件可以有,,,空白值。

在您的情况下,例如:像这样设置:

John,Seattle,
Shenzi,Denver,2020-05-11

对于第一行,当 logstash 将读取 csv 文件时(例如:如果您在 logstash 的 conf 文件中input { stdin{} },那么您将cat somefile.csv | logstash -f <logstash.conf>(,它会将第 3 列值视为 ''(将其转换为 ES 索引作为 key=val 对,例如:date: null免费(

最新更新