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)
问题已解决