Conflicting field mapping


#1

I am trying to upgrade from 1.7.1 and 2.x and the migration took is showing some errors

Index: .kibana
Conflicting field mappings
Mapping for field dashboard:hits conflicts with: search:hits. Check parameter: type
Boolean fields
Boolean fields will return 1/0 instead of T/F in scripts, aggregations, or sort values, in field: dashboard:timeRestore

"dashboard" : {
"properties" : {
"description" : {
"type" : "string"
},
"hits" : {
"type" : "long"

 "hits" : {
        "type" : "integer"
      },

I tried to export the objects and re-import but it did not work.
Please help


#2

here is the kibana index mapping:
{
".kibana" : {
"aliases" : { },
"mappings" : {
"config" : {
"properties" : {
"buildNum" : {
"type" : "long"
},
"defaultIndex" : {
"type" : "string"
}
}
},
"index-pattern" : {
"properties" : {
"customFormats" : {
"type" : "string"
},
"fieldFormatMap" : {
"type" : "string"
},
"fields" : {
"type" : "string"
},
"intervalName" : {
"type" : "string"
},
"timeFieldName" : {
"type" : "string"
},
"title" : {
"type" : "string"
}
}
},
"dashboard" : {
"properties" : {
"description" : {
"type" : "string"
},
"hits" : {
"type" : "long"
},
"kibanaSavedObjectMeta" : {
"properties" : {
"searchSourceJSON" : {
"type" : "string"
}
}
},
"panelsJSON" : {
"type" : "string"
},
"timeFrom" : {
"type" : "string"
},
"timeRestore" : {
"type" : "boolean"
},
"timeTo" : {
"type" : "string"
},
"title" : {
"type" : "string"
},
"version" : {
"type" : "long"
}
}
},
"visualization" : {
"properties" : {
"description" : {
"type" : "string"
},
"kibanaSavedObjectMeta" : {
"properties" : {
"searchSourceJSON" : {
"type" : "string"
}
}
},
"title" : {
"type" : "string"
},
"version" : {
"type" : "long"
},
"visState" : {
"type" : "string"
}
}
},
"search" : {
"properties" : {
"columns" : {
"type" : "string"
},
"description" : {
"type" : "string"
},
"hits" : {
"type" : "integer"
},
"kibanaSavedObjectMeta" : {
"properties" : {
"searchSourceJSON" : {
"type" : "string"
}
}
},
"title" : {
"type" : "string"
}
}
}
},
"settings" : {
"index" : {
"routing" : {
"allocation" : {
"disable_allocation" : "false"
}
},
"creation_date" : "",
"number_of_shards" : "1",
"uuid" : "",
"version" : {
"created" : ""
},
"number_of_replicas" : "1"
}
},
"warmers" : { }
}
}


(Steve Wall) #3

I believe the issues is your dashboard hits field is defined with type of long, but your search hits field is defined with a type of integer. In 2.x, fields with the same name in the same index (which is your case) can not have different types.

See: https://www.elastic.co/guide/en/elasticsearch/reference/2.0/indices-put-mapping.html#merging-conflicts


#4

Hi Steve
I should be able to do something like this?
curl -XPUT .kibana/_mapping/hits?update_all_types
{
"properties" : {
"columns" : {
"type" : "string"
},
"description" : {
"type" : "string"
},
"hits" : {
"type" : "long"
}
}
}


#5

What am I doing wrong?
curl -XPUT http://localhost:9200/.kibana/_mapping/hits?update_all_types
{
"properties" : {
"hits" : {
"type" : "long"
}
}
}


(system) #6