2017-07-26 146 views
0

我想從Go包elastic使用BulkIndexRequest。我試圖找到例子,但似乎它們不存在。所以如果有人使用它,你能幫我用它來創建像下面這樣的請求嗎?從golang包'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"} 
' 

回答

2

您可以找到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) 
} 
...