elasticsearch 如何在Golang中使用Olivere将数据插入Elasticsearch,elasticsearch,go,elasticsearch,Go" /> elasticsearch 如何在Golang中使用Olivere将数据插入Elasticsearch,elasticsearch,go,elasticsearch,Go" />

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

elasticsearch 如何在Golang中使用Olivere将数据插入Elasticsearch,elasticsearch,go,elasticsearch,Go,我需要一个正确的例子,在那里我可以插入数据到elasticsearch使用olivere在golang。我已经收集了数据,它会打印将要插入的每个数据的结果。问题是没有数据插入elasticsearch indexing := company indextype := employee data := lists{Id: id__, Article_id: id_row, Category_id: category_id,

我需要一个正确的例子,在那里我可以插入数据到elasticsearch使用olivere在golang。我已经收集了数据,它会打印将要插入的每个数据的结果。问题是没有数据插入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")
    }
这是收集将插入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

谢谢
}

要将数据插入弹性体,我使用以下代码:

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是一个上下文

您的程序(上面只是一个片段)是否编译?响应说什么?是的,它只是一个片段,这是收集数据的代码。响应是,使用olivere{“索引”打印插入弹性的结果:{“索引”:“公司”,“id”:“2660e1”,“类型”:“员工”}{“id”:“26688”,“文章id”:20,“类别id”:“农业”,“日期”:“2018-11-23”,“媒体id”:8,提及次数:“20”,“数据输入日期”:“2018-12-01 15:42:22”,“用户”:“机器人-kwd41”,“pc名称”:“服务器”}它确实会返回一个响应。但我不知道如何使用olivere将数据插入elasticsearch。您是否有将数据插入elasticsearch的正确示例和完整示例?…该结果是否包括您刚才在调用
NewBulkIndexRequest
时使用的数据?如果它确实让您认为它工作不正常?我不确定,您认为代码正确吗?抱歉,我无法回答您的代码是否工作正常,因为不清楚它应该做什么。ThxIs saveDocument是elastic olivere软件包提供的函数吗?如果我想插入许多数据,是否仍然可以使用该函数?