schube
schube

Reputation: 730

Elasticsearch indexing timestamp-field fails

I fail at indexing timestamp fields with ElasticSearch (version 7.10.2) and I do not understand why.

So I create an index with the following mapping. You can copy & paste it directly to Kibana:

PUT /my-dokumente
{
    "mappings" : {
      "properties" : {
        "aufenthalt" : {
          "properties" : {
            "aufnahme" : {
              "properties" : {
                "zeitpunkt" : {
                  "type" : "date",
                  "format": "yyyy-MM-dd HH:mm:ss",
                  "ignore_malformed": true
                }
              }
            },
            "entlassung" : {
              "properties" : {
                "zeitpunkt" : {
                  "type" : "date",
                  "format": "yyyy-MM-dd HH:mm:ss",
                  "ignore_malformed": true
                }
              }
            }
          }
        }
      }
    }
}

Then I try to index a document:

PUT /my-dokumente/dokumente/1165963
{
    "aufenthalt" : 
    {
        "aufnahme" : 
        {
            "zeitpunkt" : "2019-08-18 15:02:13"
        },
        "entlassung" : 
        {
            "zeitpunkt" : "2019-08-20 10:29:22"
        }
    }
}

Now, i get this error:

"mapper [aufenthalt.entlassung.zeitpunkt] cannot be changed from type [date] to [text]

Why is elastic search not parsing my date?

I also tried with many different mapping settings like strict_date_hour_minute_second or to send the timestamp as "2019-08-18T15:02:13" or "2019-08-18T15:02:13Z" also, I converted it to epoch millis, but I always get some different error message, for example Cannot update parameter [format] from [strict_date_hour_minute_second] to [strict_date_optional_time||epoch_millis].

So the basic question is just: How can I send a timestamp value to ElasicSearch? (with Kibana/CURL).

PS: I am not using a Client SDK like Java High Level Rest Client. Why are talking about basic Kibana/CURL.

It can't be that complicated. What am I missing?

Thank you!

Upvotes: 0

Views: 883

Answers (1)

Bhavya
Bhavya

Reputation: 16192

Mapping types are removed in 7.x. Refer to this official documentation

You need to add _doc in URL when indexing a document to Elasticsearch

Modify the URL as PUT /my-dokumente/_doc

Upvotes: 1

Related Questions