1 回答
TA贡献1757条经验 获得超7个赞
您发布为 JSON 的 Elasticsearch 响应似乎并不完全正确(缺少几个括号并且缩进错误)我已经进行了编辑,因此无需担心。
谈到循环问题,你的 for 循环应该是这样的:
for _, suggestion := range r["suggest"].(map[string]interface{})["compeletion-suggest"].([]interface{}) {
options := suggestion.(map[string]interface{})["options"]
for _, option := range options.([]interface{}) {
log.Printf(" * option=%s", option)
}
}
你忘了提到这样的范围options.([]interface{})
这给了我这样的输出:
2020/06/28 23:57:03 * option=map[_id:id1 _index:myindex _score:%!s(float64=2) _source:map[content_completion:map[input:[sometext_result1] weight:%!s(float64=2)]] _type:_doc text:sometext_result1]
2020/06/28 23:57:03 * option=map[_id:id2 _index:myindex _score:%!s(float64=1) _source:map[content_completion:map[input:[sometext_result2] weight:%!s(float64=1)]] _type:_doc text:sometext_result2]
我希望这是你想要达到的目标。:)
- 1 回答
- 0 关注
- 97 浏览
添加回答
举报