我当前的映射如下所示:

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

08-25 11:36
查看更多