无法在弹性搜索中保存 uuid

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


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 为“gPmI8HIBCIO6Ejb-Y51D”的文档中解析类型为 [long] 的字段 [id]。字段值预览:'a5c723c5-1f6e-457f-9556-47b7ebcfd183'


繁星点点滴滴
浏览 104回答 1
1回答

qq_遁去的一_1

错误消息非常清楚,您正在尝试存储a5c723c5-1f6e-457f-9556-47b7ebcfd183哪个是字符串,而不是像在弹性搜索映射中id那样映射字段。long它甚至还告诉您,对于_id具有gPmI8HIBCIO6Ejb-Y51Das 值的文档有错误,因此您可以找到该文档并进行更正。请发送以下字段的正确值,long在您的情况下有效,以解决问题。ID      string   `json:"id"`如果您想获取更多代码级别的详细信息,请参阅Elasticsearch 中的此代码,该代码解析值并引发异常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go