content{"chat_text":"{\"type\":\"gift\",\"gift_id\":1,\"gift_title\":\"Santa Claus\",\"gift_gold\":10000,\"gift_count\":1,\"gift_icon\":\"/image/gift/santa_claus.png\"}"}create_at1,757,492,478id4-1757492476476-2-1266538ip171.243.49.200request_id113763315064409446status2to_uid6uaDart/3.9 (dart:io)uid4update_at1,757,492,478_idxqO3MpkB-4fCvSOnBrbW_ignored - _indexlu_chat_log_score1
这是es存储的数据结构
type A struct {
Createat int
ToUid int
Uid int
Content string
}
这是要从es查询出来的字段
userIndex := "lu_chat_log"
termQuery := elastic.NewTermQuery("to_uid", req.StreamerId)
searchResult, err := types.EsClient.Search().
Index(userIndex). // 设置索引名
Query(termQuery). // 设置查询条件
Sort("create_at", true). // 设置排序字段,根据Created字段升序排序,第二个参数false表示逆序
From(0). // 设置分页参数 - 起始偏移量,从第0行记录开始
Size(10). // 设置分页参数 - 每页大小
Pretty(true). // 查询结果返回可读性较好的JSON格式
Do(ctx)
fmt.Printf("查询消耗时间 %d ms, 结果总数: %d\n", searchResult.TookInMillis, searchResult.TotalHits())
if searchResult.TotalHits() > 0 {
// 查询结果不为空,则遍历结果
var b1 A
// 通过Each方法,将es结果的json结构转换成struct对象
for _, item := range searchResult.Each(reflect.TypeOf(b1)) {
fmt.Printf("数据:%+v\n",item)
// 转换成Article对象
//if t, ok := item.(Article); ok {
//fmt.Println(t.Title)
}
}
我有两个问题,第一个是除了uid和content能解析出来,剩下的create_at,to_uid都解析不出来

另外我想在elastic.NewTermQuery("to_uid", req.StreamerId)之外,在增加一个查询参数,elastic.NewTermQuery("uid", req.MemberId),该怎么做