PythonからElasticsearchのbulk処理実行時のエラーを出力、加工する

調べた際に、そのものズバリで引っかからなかったので念の為残しておく。
以下のように、bulk処理をtryで実行し、exceptでhelpers.BulkIndexError.errorsを指定することで、エラーリストを取得できるようだ。

Sponsored Links

...
            try:
                helpers.bulk(client=self.conn,
                             stats_only=True,
                             actions=bulk_list,
                             refresh=True,
                             chunk_size=self.bulk_size,
                             request_timeout=150)
            except helpers.BulkIndexError as bulk_error:
                bulk_error_array = bulk_error.errors
                print(bulk_error_array) #失敗したクエリの情報
...

 

後は、各要素ごとに分解してdictから必要な要素を抜き出してやればいい。

 


Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*