【问题标题】:Golang error "not enough arguments in call"Golang 错误“调用中没有足够的参数”
【发布时间】:2017-03-13 20:04:27
【问题描述】:

我是 golang 的新手。尝试通过 golang 实现对 Elasticsearch 的批量上传。我正在使用 golang 库 -> https://github.com/olivere/elastic 与 Elasticsearch 进行通信。

另外,我正在尝试一段示例代码,但出现以下错误...

suresh@BLR-245:~/Desktop/tools/golang/src$ go install github.com/crazyheart/elastic-bulk-upload
# github.com/crazyheart/elastic-bulk-upload
github.com/crazyheart/elastic-bulk-upload/main.go:29: not enough arguments in call to bulkRequest.Do
    have ()
    want ("golang.org/x/net/context".Context)
suresh@BLR-245:~/Desktop/tools/golang/src$ 

我的 Golang 代码(main.go)

package main

import (
    "fmt"
    "gopkg.in/olivere/elastic.v5"
    "strconv"
)

type Tweet struct {
    User    string `json:"user"`
    Message string `json:"message"`
}

func main() {
    client, err := elastic.NewClient()
    if err != nil {
        fmt.Println("%v", err)
    }

    n := 0
    for i := 0; i < 1000; i++ {
        bulkRequest := client.Bulk()
        for j := 0; j < 10000; j++ {
            n++
            tweet := Tweet{User: "olivere", Message: "Package strconv implements conversions to and from string representations of basic data types. " + strconv.Itoa(n)}
            req := elastic.NewBulkIndexRequest().Index("twitter").Type("tweet").Id(strconv.Itoa(n)).Doc(tweet)
            bulkRequest = bulkRequest.Add(req)
        }
        bulkResponse, err := bulkRequest.Do()
        if err != nil {
            fmt.Println(err)
        }
        if bulkResponse != nil {

        }
        fmt.Println(i)
    }
}

任何人,请帮助我了解该错误的含义以及如何解决这些错误?

【问题讨论】:

  • 这个答案可能会有所帮助:stackoverflow.com/a/40610924/4604579
  • @Val - 感谢您帮助我。
  • 没有问题,很高兴为您提供帮助!
  • 错误消息告诉您究竟出了什么问题。你有什么问题?
  • 我的问题是关于 golang 错误消息“调用中的参数不足”?由于我是 golang 的新手,所以我无法理解它到底是什么。不管怎样,现在已经修好了。

标签: elasticsearch go


【解决方案1】:

您需要将上下文传递给 bulkRequest.Do()。

来自 Olivere/elastic Github 页面(略);

// Create a context ctx := context.Background() bulkRequest.Do(ctx)

【讨论】:

  • 谢谢。没错,我在这里犯了错误。它现在正在工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-18
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多