# Elasticsearch のインデックスからドキュメントを削除出来ない

**URL:** <https://discuss.elastic.co/t/elasticsearch/62692>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [October 11, 2016, 8:50am UTC](https://discuss.elastic.co/t/elasticsearch/62692 "2016-10-11T08:50:02Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![sgsg](https://avatars.discourse-cdn.com/v4/letter/s/0ea827/32.png) [@sgsg](https://discuss.elastic.co/u/sgsg)\
**Post date:** [October 11, 2016, 8:50am UTC](https://discuss.elastic.co/t/elasticsearch/62692/1 "2016-10-11T08:50:02Z")

</div>

対象は複数ノードからなる分散型の検索システムで、インデックスサイズが2テラ程度、  
シャーディングの設定も行っていますが、インデックスから一部のドキュメントだけ削除しようと  
以下のコマンドを実行したところ、

コマンド  
curl -s -XPOST localhost:9200/\_bulk --data-binary @json\_file

json\_file  
{ "delete" : { "\_index" : "index", "\_type" : "type", "\_id" : "1" } }

以下のようなメッセージがあがり、削除できませんでした。  
{  
"took" : 120008,  
"errors" : true,  
"items" : [ {  
"delete" : {  
"\_index" : "index",  
"\_type" : "type",  
"\_id" : "1",  
"status" : 404,  
"error" : "RemoteTransportException[[A1][inet[/10.10.10.10:9200]][indices:data/write/bulk[s]]]; nested: EngineClosedException[[index][4] CurrentState[CLOSED] ]; "  
}  
} ]  
}

また、curl -XGETでドキュメントを表示することは出来、全文検索も可能ですが、XDELETEが効きかず削除出来ません。  
curl -DELETE [http://locahost:9200/index/type/1](http://locahost:9200/index/type/1)

削除したいドキュメントサイズは40kバイト程度です。  
インデックス内の他のドキュメントは削除可能なものもあり、すべてが削除できないわけではありません。

インデックス内の他のドキュメントは残し、このドキュメントだけを削除したいのですが、削除する方法を教えて頂ければ幸いです。

ちなみに、Elasticsearch バージョン1.7.1 を使用しています。

よろしくお願いいたします。

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [October 13, 2016, 8:01am UTC](https://discuss.elastic.co/t/elasticsearch/62692/2 "2016-10-13T08:01:14Z")

</div>

実行時間の前後にElasticsearchのログに何かエラーなどは出ていないでしょうか？

---

<div class="post-metadata">

**Author:** ![sgsg](https://avatars.discourse-cdn.com/v4/letter/s/0ea827/32.png) [@sgsg](https://discuss.elastic.co/u/sgsg)\
**Post date:** [October 14, 2016, 5:12am UTC](https://discuss.elastic.co/t/elasticsearch/62692/3 "2016-10-14T05:12:03Z")

</div>

大谷様

お世話になります。  
ご多用の中、ご連絡頂き、ありがとうございました。

クラスタを再確認したところ、HDDの残容量がゼロになっていた為、ログへ書き込みが出来ず、ドキュメントを削除出来なかったようです。  
不要なログファイルを削除後、ドキュメントを削除出来、問題が解消されました。  
確認不足で、申し訳ございませんでした。

今回クラスタを確認して気づいた点として、クラスタ内マシンのHDD残容量にバラつきがあることでした。

構築直後はほぼ均等にシャードが割り当てられていたのですが、運用過程で（ドキュメントを検索、追加、削除したり、停電によるマシン起動・停止等）  
マシン毎にシャードが複数載っていたり、まったく載っていなかったりしたり（マシン２）、マシンの残容量も点線以下の通りバラつきがあり、  
例えば、マシン２，７は残容量が非常に少ないのに、マシン１２は １１０Ｇ となっています。

設定等により、均等にデータを割り振ることは可能でしょうか？

たとえば、マシン２，７、１２をクラスタから外し、この３つで新たにクラスタを作成し、均等に割り振られた段階で、元のクラスタに戻すことなど可能でしょうか。

ご多用のところ、大変恐れ入りますがご教示頂けますと助かります。  
よろしくお願い致します。

クラスタの構成（HDD: ３００Ｇ）、()内シャードの数

各マシンの残容量は以下の通りでした。  
マシン１（３個）： １８Ｇ  
マシン２（０個）： ０．１Ｇ  
マシン３（２個）： １３Ｇ  
マシン４（３個）： １９Ｇ  
マシン５（２個）： １０Ｇ  
マシン６（１個）： ３Ｇ  
マシン７（２個）： ０．１Ｇ  
マシン８（３個）： ４２Ｇ  
マシン９（２個）： ４６Ｇ  
マシン１０（３個）： ３０Ｇ  
マシン１１（２個）： ５６Ｇ  
マシン１２（２個）： １１０Ｇ  
マシン１３（２個）： ９４Ｇ  
マシン１４（１個）： ６３Ｇ

全マシン設定  
node.master: true  
node.data: true  
script.groovy.sandbox.enabled: false  
http.max\_initial\_line\_length: 100k

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [October 14, 2016, 6:56am UTC](https://discuss.elastic.co/t/elasticsearch/62692/4 "2016-10-14T06:56:42Z")

</div>

[Disk-based Shard Allocation](https://www.elastic.co/guide/en/elasticsearch/reference/1.7/disk.html)と言う機能があり、それが作動したために、シャードの偏りが出ているはずです。（ログに何か出ているかと。）

空き容量を作っていただければ、そのうちバランスが取れるはずです。  
また、一応、[Cluster Reroute](https://www.elastic.co/guide/en/elasticsearch/reference/1.7/cluster-reroute.html)を使えば明示的に自分で動かすことも可能です。

---

<div class="post-metadata">

**Author:** ![sgsg](https://avatars.discourse-cdn.com/v4/letter/s/0ea827/32.png) [@sgsg](https://discuss.elastic.co/u/sgsg)\
**Post date:** [October 14, 2016, 8:43am UTC](https://discuss.elastic.co/t/elasticsearch/62692/5 "2016-10-14T08:43:05Z")

</div>

大谷様

ご教授頂き、ありがとうございました。  
勉強になりました。色々試してみたいと思います。  
ありがとうございました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:44pm UTC](https://discuss.elastic.co/t/elasticsearch/62692/6 "2017-07-06T13:44:50Z")

</div>


