提交者
GitHub
Merge pull request #4 from aleiphoenix/master
Detect errors in bulk response
正在显示
1 个修改的文件
包含
15 行增加
和
1 行删除
| @@ -54,8 +54,22 @@ func (w *Writer) execute(vals []interface{}) { | @@ -54,8 +54,22 @@ func (w *Writer) execute(vals []interface{}) { | ||
| 54 | req := elastic.NewBulkIndexRequest().Index(pair.index).Type(w.docType).Doc(pair.val) | 54 | req := elastic.NewBulkIndexRequest().Index(pair.index).Type(w.docType).Doc(pair.val) |
| 55 | bulk.Add(req) | 55 | bulk.Add(req) |
| 56 | } | 56 | } |
| 57 | - _, err := bulk.Do(context.Background()) | 57 | + resp, err := bulk.Do(context.Background()) |
| 58 | + | ||
| 58 | if err != nil { | 59 | if err != nil { |
| 59 | logx.Error(err) | 60 | logx.Error(err) |
| 61 | + return | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + // bulk error in docs will report in response items | ||
| 65 | + if resp.Errors { | ||
| 66 | + for _, imap := range resp.Items { | ||
| 67 | + for _, item := range imap { | ||
| 68 | + if item.Error == nil { | ||
| 69 | + continue | ||
| 70 | + } | ||
| 71 | + logx.Error(item.Error) | ||
| 72 | + } | ||
| 73 | + } | ||
| 60 | } | 74 | } |
| 61 | } | 75 | } |
-
请 注册 或 登录 后发表评论