Elastisearch并未将Unix时间戳视为有效时间戳

时间:2017-04-12 16:49:24

标签: elasticsearch

我有以下请求发送到elasticsearch服务器,如:

http://localhost:9200/myindex/_bulk

但是,时间戳不会被识别为文档时间戳,而是显示为任何具有长值的字段。

Elasticsearch文档说Unix纪元是一种标准的时间格式,我不必为此创建任何特殊的映射。

{ "index" : { "_type" : "regionserver.Regions" } }
{ "@timestamp" : 1492012311392, "type" : "regionserver.Regions", "region" : "1588230740", "table" : "meta", "storeCount" : 1, "storeFileCount" : 2, "memStoreSize" : 416, "storeFileSize" : 13453 }

1 个答案:

答案 0 :(得分:0)

您需要为@timestamp字段定义显式映射为date类型,以便索引unix timestamp值,否则Elasticsearch将其视为long类型。因此,在将unix timestamp值索引到@timestamp字段之前,请定义映射,如下所示:

PUT myindex
{
  "mappings": {
    "regionserver.Regions": {
      "properties": {
        "@timestamp": {
            "type": "date"
          }
      }
    }
  }
}

希望这有帮助!