我当前的映射如下所示:
array(1) {
["profile_index"]=>
array(1) {
["mappings"]=>
array(1) {
["profile"]=>
array(1) {
["properties"]=>
array(19) {
["AboutMe"]=>
array(1) {
["type"]=>
string(6) "string"
}
["Name"]=>
array(1) {
["type"]=>
string(6) "string"
}
["IDProfile"]=>
array(1) {
["type"]=>
string(6) "string"
}
}
}
}
}
}
我想将IDProfile的类型更改为整数。这个:
$mapParams['index'] = 'profile_index';
$mapParams['type'] = 'profile';
$mapParams["body"]['profile'] = array("properties"=>array("A2_IDProfile"=>array("type"=>"integer")));
$client->indices()->putMapping($mapParams);
并且它的变体不起作用。
有什么建议么?
附言我正在使用官方的php clinet
最佳答案
您必须先重新索引才能更改索引类型。有关解决方案,请检查https://www.elastic.co/blog/changing-mapping-with-zero-downtime