0

我是 ELK 堆栈的新手,我正在处理一个小项目,我正在尝试从评论数据集中可视化虚假评论。我加载了由产品价格、评论分数和评论日期等字段组成的数据集。由于它们都是文本格式,我在用它们形成图表时遇到了一些困难。我需要一些帮助才能将审查日期从文本转换为日期格式。

字段中的值采用格式

"21-02-2009"
"22-02-2009"
..

这些都是字符串格式。我想将它们转换为日期格式

我尝试执行以下查询

PUT softwarerevs/_mapping?include_type_name=true
{
  "properties": {
    "Time": {
      "format": "dd-MM-yyyy HH:mm:ss",
      "type" : "date"
    }
  }
}

但我收到以下错误

{
  "error": {
    "root_cause": [
      {
        "type": "action_request_validation_exception",
        "reason": "Validation Failed: 1: mapping type is missing;"
      }
    ],
    "type": "action_request_validation_exception",
    "reason": "Validation Failed: 1: mapping type is missing;"
  },
  "status": 400
}

谁能帮我解决这个问题。

提前致谢

4

1 回答 1

1

您可以使用 logstash 通过一些过滤器重新索引数据。要过滤日期字段,您可以使用日期过滤器插件。

下面是格式

    date {
       match => [ sourcefield , <date-format> ]
       target => destinationfield
    }

你可以在这里找到文档

示例配置文件

input {
    elasticsearch {
        hosts => "host
        index => "index"
        query => '{ "query": { "match_all": {} } }'
        scroll => "20m"
        docinfo => true
    }
}
filter {
    date {
           match => [ sourcefield , <date-format> ]
           target => destinationfield
    }
}
output {
    elasticsearch {
        hosts => "host"
        index => "new-index"
}
于 2019-09-23T12:28:57.453 回答