gpt4 book ai didi

elasticsearch - 如何在 Golang 中使用 Olivere 将数据插入 Elasticsearch

转载 作者:数据小太阳 更新时间:2023-10-29 03:36:33 30 4
gpt4 key购买 nike

我需要一个正确的示例,我可以在其中使用 golang 中的 olivere 将数据插入到 elasticsearch 中。我已经收集了数据,它会打印将要插入的每个数据的结果。问题是没有数据插入elasticsearch。

这是用于收集将插入到 elasticsearch 中的数据的代码。

indexing := company
indextype := employee
data := lists{Id: id__,
Article_id: id_row,
Category_id: category_id,
Datee: date,
Media_id: media,
Mention_times: mention,
Data_input_date: data_input_date,
User: user,
name: pc_name}

//Save to Elastic using olivere
response := elastic.NewBulkIndexRequest().Index(indexing).Type(indextype).Id(id__).Doc(data)
if response != nil {
fmt.Println("Print the result", OlivereResponse)
}
/* log the result
Print the result for inserting to elastic using olivere {"index":
{"_index":"company","_id":"2660e1","_type":"employee"}}
{"id":"26688","article_id":20,"category_id":"farming","datee":"2018-11-23","media_id":8, Mention_times: "20", "data_input_date":"2018-12-01 15:42:22","usere":"robot-kwd41","pc_name":"server"}
*/



if OlivereResponse == nil {
fmt.Println("Response returns null when inserting to elasticsearch using
olivere")
}

谁能提供一个完整的示例,说明如何使用 golang 中的 olivere 包将数据插入到 elasticsearch 中?

谢谢

最佳答案

为了将数据插入 Elastic,我使用了这样的代码:

func (e *Elastic) SaveDocument(index string, id string, data interface{}) error {
_, err := e.client.Index().Index(index).Type("entity").Id(id).
BodyJson(data).Refresh("true").Do(e.ctx)

if err != nil {
e.fileLogger.Log(data)
fmt.Printf("Error save document to elastic search: %s. Save log to file\n", err.Error())
}

return err
}

这里是:

  • e.client 是 f *elastic.Client 的实例;
  • e.ctx 是一个context.Context

关于elasticsearch - 如何在 Golang 中使用 Olivere 将数据插入 Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53569171/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com