golang elasticsearch-7.0 SQL请求

go友们,你们知道 elasticsearch-7.0 用 sql 该如何发出请求吗?

我只知道在该包下有对应的方法,但是不知道该怎么调用?也没找到对应的调用demo,希望能够提供调用示例,谢谢!

我已经试出来了,试出来后很简单,但是过程很浪费时间。

sql := "select * from index"
 // var queryBuf bytes.Buffer
 // json.NewEncoder(&queryBuf).Encode(sql)
 esClient, _ := elasticsearch.NewClient(cfg)
 req := esapi.SQLQueryRequest{
 // 之前就这个地方写错了,写成了下面的。然后在官方包的README看到了还可以接受这种写法。于是尝试出来了。
 // Body: &queryBuf
    Body: strings.NewReader(sql),
}

    res, _ := req.Do(context.Background(), esClient)
    // 之前这里没注意到,关闭后才会释放连接
    defer res.Body.Close()

  //  这里是接收返回的结构体,之前没发现还有这个。
    hit := &dto.EsResult{}
    json.NewDecoder(res.Body).Decode(hit)
最佳答案

问题已解决

2年前 评论
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!