登录
首页 >  Golang >  Go问答

如何在elasticsearch golang客户端中检索搜索命中的整个来源?

来源:stackoverflow

时间:2024-04-24 12:45:35 440浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《如何在elasticsearch golang客户端中检索搜索命中的整个来源?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

我的索引包含太多字段,例如一个文档有 6 个字段,其他文档有不同数量的字段,总共有近千个不同的字段。

我遵循了这个https://github.com/olivere/elastic/wiki/Search,它工作正常,但我无法创建所有字段的结构并执行 json.Unmarshal(*hit.Source, &t)那。 有什么方法可以在不使用字段结构的情况下检索整个源代码。

我使用elasticsearch版本-7和olivre elasticsearch golang库。


解决方案


如果我理解正确,您不想解组 json 结果 - 您只想访问该值。

搜索操作返回 searchhit 结果 docs here

其中有一个字段

type searchhit struct {
    // trimmed
    source         json.rawmessage                `json:"_source,omitempty"`         

}

json.rawmessage 只是 []bytedocs here

因此要将其作为字符串获取,您可以这样做:

s := string(hit.Source)

到这里,我们也就讲完了《如何在elasticsearch golang客户端中检索搜索命中的整个来源?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>