【问题标题】:Can't define date type index on elastisearch无法在弹性搜索上定义日期时间索引
【发布时间】:2019-05-04 21:50:04
【问题描述】:

我有一个文档发送到 elasticsearch,看起来像这样:

{
    "created": 1543247749419,
    "name": "something",
    "person": {
        "created": 1543247012491,
        ...
    }
}

created 两个字段都是epoch_millis 日期格式(时间戳以毫秒为单位)。我基本上尝试了 3 件事:

  1. 像这样使用 curl 添加文档:

curl -H "Content-Type: application/json" -X POST "http://ipaddress:9200/somedb" -d "@/some/path"

到目前为止一切顺利,但索引将我的created 的类型设置为long,而不是date

  1. 从 Kibana 界面复制索引,将 long 更改为 date 并为其创建一个新数据库:

    { “映射”:{ “somedb2”:{ “特性”: { “创建”:{ “类型”:“日期”, “格式”:“x” },

并像这样发送数据:

curl -H "Content-Type: application/json" -X POST "http://ipaddress:9200/somedb2" -d "@/some/path"

然后我收到了来自 elasticsearch 的这个错误信息

 { "error": {
      "root_cause": [
           {
               "type": "mapper_parsing_exception",
               "reason":"Root mapping definition has unsupported parameters:  [mapping : {properties={created={type=date, format=x}, 

现在我真的不知道该怎么办。在 interwebz 上搜索基本上只讨论格式化部分,而没有太多关于配置或创建索引的内容。我需要一个 elasticsearch 插件来处理日期吗?

【问题讨论】:

  • 您在创建映射时遇到了错误,因为您在 json 中编写了 mapping,实际上应该是 mappings

标签: date elasticsearch indexing


【解决方案1】:

JSON(这是 ElasticSearch 的数据格式)没有明确的日期格式,它们始终被视为字符串,即使以其他方式传递也是如此。

因此,实际上,如果您未指定日期格式,则会考虑此选项:“strict_date_optional_time||epoch_millis”,即 epoch millis - 在您的情况下也是正确的。

这就是为什么每个人都在谈论格式化而不是转换;)

【讨论】:

  • 好吧,所以 elasticsearch 不理解日期。那么我的问题可能应该是如何使用 x 轴作为“日期直方图”来制作 Kibana 可视化,因为现在它说“没有兼容的字段”。我正在使用 kibana 和 elasticsearch 6.5.1
  • 这可能是对的;不过,我不是 Kibana 大专家。您需要在弹性中更改字符串到日期的映射; Kibana 然后自动将其识别为日期字段。 elastic.co/guide/en/elasticsearch/reference/current/date.html 应该让你继续前进。
  • 评论只能编辑5分钟,所以这里还有一条评论:elastic.co/guide/en/elasticsearch/reference/2.4/…
【解决方案2】:

我想通了。

看来我发出的curl 命令在使用的dbname 和映射器中使用的名称中有错误。 JSON 也有错误,使其更难理解。它现在正在优雅地工作。我还将format 更改为epoch_millis 而不是x

现在它就像一个魅力,在 Kibana 中制作了我的第一个仪表板。

【讨论】:

    猜你喜欢
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2016-02-27
    • 1970-01-01
    • 2015-10-16
    相关资源
    最近更新 更多