diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+# log-elasticsearch-0.12.1.0 (2021-06-23)
+* Map `time` as `date_nanos` in ElasticSearch >= 7.0.
+
 # log-elasticsearch-0.12.0.0 (2021-06-09)
 * Stop putting `insertion_time` and `insertion_order` in ElasticSearch.
 
diff --git a/log-elasticsearch.cabal b/log-elasticsearch.cabal
--- a/log-elasticsearch.cabal
+++ b/log-elasticsearch.cabal
@@ -1,5 +1,5 @@
 name:                log-elasticsearch
-version:             0.12.0.0
+version:             0.12.1.0
 synopsis:            Structured logging solution (Elasticsearch back end)
 
 description:         Elasticsearch back end for the 'log' library suite.
diff --git a/src/Log/Backend/ElasticSearch/Internal.hs b/src/Log/Backend/ElasticSearch/Internal.hs
--- a/src/Log/Backend/ElasticSearch/Internal.hs
+++ b/src/Log/Backend/ElasticSearch/Internal.hs
@@ -136,7 +136,7 @@
     logsMapping = object
       [ "properties" .= object
         [ "time" .= object
-          [ "type"   .= ("date"::T.Text)
+          [ "type"   .= timeTy
           , "format" .= ("date_time"::T.Text)
           ]
         , "domain" .= object
@@ -154,6 +154,11 @@
         ]
       ]
       where
+        timeTy :: T.Text
+        timeTy = if version >= esV7
+                 then "date_nanos"
+                 else "date"
+
         textTy :: T.Text
         textTy = if version >= esV5
                  then "text"
