2016-11-15 6 views
-3

私はindexdocs、そしてまた、例えばhereとして与えられた)を作成しようとしているとき、私は、しかし、このよく知られたrepoElasticsearch CREATEINDEX()足りない引数

でGOのためElasticsearchを使用しようとしています:

// Define an elastic client 
    client, err := elastic.NewClient(elastic.SetURL("host1")) 
    if err != nil { 
     client, err := elastic.NewClient(elastic.SetURL("host2")) 
     if err != nil { 
      fmt.Println("Error when connecting Elasticsearch host");  
     } 
    } 

    // Create an index 
    _, err = client.CreateIndex("events").Do() 
    if err != nil { 
     fmt.Println("Error when creating Elasticsearch index"); 
     panic(err) 
    } 

私は理解していないこれは、次のエラーを得た:

ないclient.CreateIndex(への呼び出しで十分に引数」イベント ")。Do

なぜですか?私はここで何を欠場するのですか?

答えて

4

IndicesCreateService.Do() functionは、context.Contextが渡されると想定しています。

だから、あなたは"golang.org/x/net/context"をインポートし、これにあなたの呼び出しを変更する必要があります。

import (
    ... your other imports...  
    "golang.org/x/net/context" 
) 
... 
_, err := client.CreateIndex("events").Do(context.TODO()) 
               ^
               | 
              add this 

また、どのように行うのを見るためにindices_create_test.goテストケースを確認することができます。

+0

ありがとうございます!私は '.TODO()'を取得しませんが。何がすべきか? (そして、テストケースについてのアドバイスに感謝します) – Mornor

+1

これは単純にnull以外の空のコンテキストを返します:https://godoc.org/golang.org/x/net/context#TODO – Val

関連する問題