elasticsearch 在elasticsearch中将unix时间戳转换为日期时间,elasticsearch,couchbase,elasticsearch,Couchbase" /> elasticsearch 在elasticsearch中将unix时间戳转换为日期时间,elasticsearch,couchbase,elasticsearch,Couchbase" />

elasticsearch 在elasticsearch中将unix时间戳转换为日期时间

elasticsearch 在elasticsearch中将unix时间戳转换为日期时间,elasticsearch,couchbase,elasticsearch,Couchbase,我在elasticsearch中为我的couchbase文档编制索引(使用xdcr)。在couchbase中,我们有存储unix时间戳的字段,但我想在ElasticSearch中将它们作为日期时间索引。 有没有办法告诉elasticsearch将unix时间戳(以秒为单位)转换为日期时间 谢谢。没有人回答,所以我继续用谷歌搜索,在这里找到了答案: 没有人回答,所以我继续用谷歌搜索,在这里找到了答案: 由于调试问题,自elasticsearch 2.0以来,映射中的转换函数已被弃用。 解决方案

我在elasticsearch中为我的couchbase文档编制索引(使用xdcr)。在couchbase中,我们有存储unix时间戳的字段,但我想在ElasticSearch中将它们作为日期时间索引。 有没有办法告诉elasticsearch将unix时间戳(以秒为单位)转换为日期时间


谢谢。

没有人回答,所以我继续用谷歌搜索,在这里找到了答案:


没有人回答,所以我继续用谷歌搜索,在这里找到了答案:


由于调试问题,自elasticsearch 2.0以来,映射中的转换函数已被弃用。 解决方案可能是:

  • 创建一个更新类型的新映射(可以使用get your_index/_mapping从当前映射中粘贴该副本)。将您创建的日期类型更新为“历元秒”

    PUT index2
    {
    “映射”:{
    “couchbaseDocument”:{
    “财产”:{
    “文件”:{
    “财产”:{
    “createdAt”:{“type”:“date”,“format”:“epoch_second”},
    “金额”:{
    “类型”:“浮动”
    },
    “应用程序组”:{
    “类型”:“长”
    },
    “体重指数”:{
    “类型”:“浮动”
    },
    

  • 使用该映射从当前索引重新编制索引(如果需要转换数据,请使用脚本):

    POST\u重新索引
    {
    “来源”:{
    “索引”:“index1”
    },
    “目的地”:{
    “索引”:“index2”
    },
    “脚本”:{
    “郎”:“无痛”,
    “内联”:“如果(ctx.\u source.doc.createdAt!=null){ctx.\u source.doc.createdAt=(长)ctx.\u source.doc.createdAt}”
    }
    }
    


  • 由于调试问题,自elasticsearch 2.0以来,映射中的转换函数已被弃用。 解决方案可能是:

  • 创建一个更新类型的新映射(您可以使用get your_index/_mapping从当前映射中粘贴该副本)。将您创建的日期类型更新为“epoch_second”

    PUT index2
    {
    “映射”:{
    “couchbaseDocument”:{
    “财产”:{
    “文件”:{
    “财产”:{
    “createdAt”:{“type”:“date”,“format”:“epoch_second”},
    “金额”:{
    “类型”:“浮动”
    },
    “应用程序组”:{
    “类型”:“长”
    },
    “体重指数”:{
    “类型”:“浮动”
    },
    

  • 使用该映射从当前索引重新编制索引(如果需要转换数据,请使用脚本):

    POST\u重新索引
    {
    “来源”:{
    “索引”:“index1”
    },
    “目的地”:{
    “索引”:“index2”
    },
    “脚本”:{
    “郎”:“无痛”,
    “内联”:“如果(ctx.\u source.doc.createdAt!=null){ctx.\u source.doc.createdAt=(长)ctx.\u source.doc.createdAt}”
    }
    }
    

  • {
        "test" : {
    "transform" : {
                "script" : "ctx._source['date_created'] = ctx._source['date_created'].toLong() * 1000",
                "lang": "groovy"
            },
            "properties" : {
                "date_created" : {"type" : "date"},
            }
        }
    }