YaroslavPodorvanov / golang-struct-to-elastic-mapping

https://github.com/olivere/elastic/issues/694
MIT License
14 stars 3 forks source link

Kind converter #3

Closed YaroslavPodorvanov closed 2 years ago

YaroslavPodorvanov commented 2 years ago
var kindConverter = NewKindConverter(map[reflect.Kind]string{
    reflect.Bool:                       "boolean",
    reflect.Int:                        "integer",
    reflect.Int8:                       "byte", // A signed 8-bit integer with a minimum value of -128 and a maximum value of 127.
    reflect.Int16:                      "short",
    reflect.Int32:                      "integer",
    reflect.Int64:                      "long",
    reflect.Uint:                       "unsigned_long",
    reflect.Uint8:                      "short",
    reflect.Uint16:                     "integer",
    reflect.Uint32:                     "unsigned_long",
    reflect.Uint64:                     "unsigned_long",
    reflect.Float32:                    "float",
    reflect.Float64:                    "double",
    reflect.String:                     "text",
    reflect.TypeOf(time.Time{}).Kind(): "date",
})

var generator = generator.NewGenerator(kindConverter)

generator.Generate(&Tweet{})