elasticsearch - 使用 golang 包 'elastic' 中的 BulkIndexRequest

标签 elasticsearch go elasticsearch-bulk-api

我想使用 Go 包 elastic 中的 BulkIndexRequest。我试图找到例子,但似乎它们不存在。所以如果有人用过它,你能帮我用它来创建像下面这样的请求吗?

curl -s -H "Content-Type: application/json" -XPOST localhost:9200/someindex/sometype/_bulk -d'
{ "index": {"_id": "existing_id"}}
{ "field1": "test1"}
{ "index": {"_id": "existing_id2"}}
{ "field2": "test2"}
'

最佳答案

您可以在 test classes 中找到一些示例很好explained in the wiki .它是这样的:

indexName := "someindex"
typeName  := "sometype"
index1Req := NewBulkIndexRequest().Index(indexName).Type(typeName).Id("existing_id").Doc({...})
index2Req := NewBulkIndexRequest().Index(indexName).Type(typeName).Id("existing_id2").Doc({...})

bulkRequest := client.Bulk()
bulkRequest = bulkRequest.Add(index1Req)
bulkRequest = bulkRequest.Add(index2Req)

bulkResponse, err := bulkRequest.Do(context.TODO())
if err != nil {
    t.Fatal(err)
}
...

关于elasticsearch - 使用 golang 包 'elastic' 中的 BulkIndexRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45326078/

相关文章:

elasticsearch - 如何将段落与ElasticSearch中的短语匹配?

elasticsearch - 缓冲区刷新花费的时间比slow_flush_log_threshold长

string - 映射字符串中的有序迭代

Docker-entrypoint.sh 为带有 golang 的 ARM 镜像生成 "not found"

Action 部分的elasticsearch批量索引和冗余数据

php - 如何找到在elasticsearch中找到的结果来自哪个子类型?

github - 无法识别的导入路径(golang google 包)

elasticsearch - 如何检查 ElasticSearch BulkProcessor 服务是否存在

elasticsearch - 使用 NEST 在 ElasticSearch 上批量更新

elasticsearch - Elasticsearch-递归嵌套JSON对象