登录
首页 >  Golang >  Go问答

无法在elasticsearch中保存uuid

来源:stackoverflow

时间:2024-04-03 17:48:34 461浏览 收藏

一分耕耘,一分收获!既然都打开这篇《无法在elasticsearch中保存uuid》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我需要保存一些数据,其中包含一个名为id的字段,它是一个uuid,我使用golang和olivere弹性搜索包,这是我的代码

type space struct {
    id      string   `json:"id"`
    name    string   `json:"name"`
    type    string   `json:"type"`
}

进行一些转换后

js := string(data)
    // upto this place there is no error or warnings
    ind, err := esclient.Index().
        Index(Type).
        BodyJson(js).
        Do(ctx)

这是它抛出的错误

无法解析 id 文档中类型为 [long] 的字段 [id] 'gpmi8hibcio6ejb-y51d'。字段值预览: 'a5c723c5-1f6e-457f-9556-47b7ebcfd183'


解决方案


错误消息非常清楚,您正在尝试存储 a5c723c5-1f6e-457f-9556-47b7ebcfd183,它是一个字符串,而不是 id 字段在您的 elasticsearch 映射中映射为 long

它甚至还告诉您,您的 _id 文档有一个错误,其值是 gpmi8hibcio6ejb-y51d,因此您可以找到此文档并更正它。

请发送以下字段的正确值(在您的情况下有效的 long),以便解决问题。

ID      string   `json:"id"`

如果您想获取更多代码级别的详细信息,请参阅 elasticsearch 中的 this 代码,该代码解析值并引发异常。

本篇关于《无法在elasticsearch中保存uuid》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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