将软件包从Elastigo更改为Olivere以将数据插入Elasticsearch

时间:2018-11-22 03:38:26

标签: elasticsearch go insert

使用Elastigo时的先前代码

var es = elastigo.NewConn()
var indexer = es.NewBulkIndexer(50)

// Create a custom Sender Func, so that we can check what the error is
indexer.Sender = func(buf *bytes.Buffer) error {

    resp, err := c_es.DoCommand("POST", "/_bulk", nil, buf)
    if err != nil {

        fmt.Println("Error", string(resp)) 
        fmt.Println("Error", err)
    }

    if err == nil {
        fmt.Println("Succeed")
    }
    return err
}

我可以将一些代码更改为Olivere,但我不知道如何更改其余代码。使用Olivere连接到elasticsearch很容易。

// Connect to elasticsearch 
olivere_es, err = elastic.NewClient(elastic.SetURL("http:144.00.0.34:9400"))

//Replace the code for the var indexer = es.NewBulkIndexer(50)
var oliveIndexer = elastic.NewBulkService(olivere_es)

但是我不知道如何更改indexer.Sender和indexer.Start()。有谁知道功能是什么?

谢谢

0 个答案:

没有答案