Boolean field saving as string

Hi, hoping someone could take a look at this and tell me what I'm doing wrong....

This is my template:

curl -XPUT "http://localhost:9200/_template/test" -d'
{
  "mappings": {
     "_default_": {
        "properties": {
           "site": {
              "index": "not_analyzed",
              "type": "string"
           },
           "@timestamp": {
              "format": "strict_date_time",
              "type": "date"
           },
           "status_code": {
              "type": "integer"
           },
           "problem": {
              "index": "not_analyzed",
              "type": "boolean"
           },
           "response_time": {
              "type": "float"
           }
        }
     }
  }

}
}

When I do a post:

curl -XPOST "http://localhost:9200/test-2016.08.26/sitestatus/" -d'
{
    "site" : "www.localhost.com",
    "status_code" : 200,
    "response_time" : .20,
    "@timestamp": "2016-08-26T17:01:00.000Z",
    "problem": "no"
}'

No matter what value I save in problem all I get back is that string:

   "hits": {
      "total": 2,
      "max_score": 1,
      "hits": [
         {
            "_index": "test-2016.08.26",
            "_type": "sitestatus",
            "_id": "AVbIgKpL2pjTUyDqCfck",
            "_score": 1,
            "_source": {
               "site": "www.localhost.com",
               "status_code": 200,
               "response_time": 0.12,
               "@timestamp": "2016-08-26T17:01:00.000Z",
               "problem": "no"
            }
         }

What am I doing wrong? I'm running 2.3.1. Thanks!

I figured it out. It saves the values, but they still evaluate correctly with a search.