2016-07-11 7 views
0

elasticsearchに "animals"というインデックスがあります。これには "dogs"という種類の文書がいくつか含まれています。 「動物」のすべての「犬」文書を削除します。私はpython elasticsearchパッケージを使用しています。 次のように私のPythonコードは次のとおりです。ここでelasticsearchで特定の種類の文書を一括削除する

connection = Elasticsearch([{"host": "myhost", "port": "myport" } ]) 
body = {} # What should I put in the body??? 
connection.bulk(body, index="animals", doc_type="dogs", ignore=[400, 404]) 

私はbodyに配置する必要がないのか分かりません。誰か助けてくれますか?バルク法はhttps://github.com/elastic/elasticsearch-py/blob/master/elasticsearch/client/init.py#L1002

答えて

0

で定義されて

タイプのすべての文書を削除するelasticsearch-pyでのAPIはありません。これは、Elasticsearch 2.x以降では、typeを削除するAPIがないためです。 documentation

から は1.xでは 削除マッピングAPIを使用して、そのタイプのすべてのドキュメントとともに、タイプ マッピングを削除することが可能でした。 の残りの部分がインデックスに残って、後で の破損を引き起こす可能性があるため、これはサポートされなくなりました。

代わりにタイプマッピングを削除する必要がある場合は、マッピングを含まない新しいインデックス に再インデックスする必要があります。そのタイプに属する文書を で削除する必要がある場合は、代わりに delete-by-queryプラグインを使用してください。

関連する問題