作者 Kevin Wan
提交者 GitHub

Merge pull request #4 from aleiphoenix/master

Detect errors in bulk response
@@ -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 }