ElasticSearchでClusterBlockException[blocked by: [FORBIDDEN/8/index write (api)]エラーの対応

ElasticSearchをAWSで運用しているとたまにエラーが出ます。

ClusterBlockException[blocked by: [FORBIDDEN/8/index write (api)]

このメッセージが出る場合の対処方法ですが、こちらの記事にある通りにディスクフルの場合には容量アップで対応できるみたいですが、そうでない場合もあります。

http://qiita.com/dorachan1029/items/f3b47f4d9859450d9b90

その場合には再度テーブルを作成しなおすとなおったりします。こんな感じで。

$ curl -XDELETE "http://hostname/table"
$ -XPUT http://hostname/table -d '{
  "mappings": {
    "data":{
      "properties": {
        "id": { "type": "string" },
...
      }
    }
  }
}'

http://qiita.com/shouta-dev/items/c2d2eb6cf61bb1fa8e1b

自分の場合には、データを毎日入れ替えていたのですが、全入れ替えするとその間検索ができなくなってしまうので、要、不要を判断し、1レコードづつ入れ替えていたのが悪かったのかもしれません。半年ほど運用していたらこのエラーになりました。