首页 > 解决方案 > 无法使用 ElasticSearch-PHP 更新 ES 设置

问题描述

ES中已经有索引了。我使用 ElasticSearch-PHP 作为客户端。根据ES 文档, 这些代码应该更改 ES 设置:

$params = [
   'index' => 'my_index',
   'body' => [
      'settings' => [
         'number_of_replicas' => 0,
         'refresh_interval' => -1
       ]
    ]
];

$response = $client->indices()->putSettings($params);

但是在运行代码后会显示此错误:

**Fatal error** : Uncaught exception 'Elasticsearch\Common\Exceptions\Forbidden403Exception' with message '{"error":{"root_cause":[{"type":"cluster_block_exception","reason":"blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"}],"type":"cluster_block_exception","reason":"blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"},"status":403}

我该如何解决?先感谢您。

标签: elasticsearchelasticsearch-php

解决方案


您的 elasticsearch 服务器主机可能存储空间不足。在 Kibana 开发工具中运行以下命令。至少应该暂时解决这个问题。

PUT .kibana/_settings
{
  "index": {
    "blocks": {
      "read_only_allow_delete": "false"
    }
  }
}

推荐阅读