golang struct to elastic mapping
1.0.0
Durch die Verwendung dieses Projekts oder seines Quellcodes, für jeden Zweck und in irgendeiner Form oder Form geben Sie allen folgenden Aussagen Ihre implizite Vereinbarung :
Klicken Sie hier, um mehr über den Krieg und wie Sie helfen können. Ruhm der Ukraine! ?
package main
type Alias struct {
Alias string `json:"alias" es:"type:keyword,index:true"`
Name string `json:"name" es:"type:text"`
}
type Company struct {
ID int `json:"id" es:"index:true"`
Alias string `json:"alias" es:"type:keyword,index:true"`
Name string `json:"name" es:"type:text"`
}
type Vacancy struct {
ID int `json:"id" es:"index:true"`
Title string `json:"title" es:"type:text"`
Description string `json:"description" es:"type:text"`
Company * Company `json:"company"`
RequiredSkills [] Alias `json:"required_skills"`
PreferredSkills [] Alias `json:"preferred_skills"`
DesiredSkills [] Alias `json:"desired_skills"`
}{
"mappings" : {
"properties" : {
"id" : {
"type" : " integer " ,
"index" : true
},
"title" : {
"type" : " text "
},
"description" : {
"type" : " text "
},
"company" : {
"type" : " nested " ,
"properties" : {
"id" : {
"type" : " integer " ,
"index" : true
},
"alias" : {
"type" : " keyword " ,
"index" : true
},
"name" : {
"type" : " text "
}
}
},
"required_skills" : {
"type" : " nested " ,
"properties" : {
"alias" : {
"type" : " keyword " ,
"index" : true
},
"name" : {
"type" : " text "
}
}
},
"preferred_skills" : {
"type" : " nested " ,
"properties" : {
"alias" : {
"type" : " keyword " ,
"index" : true
},
"name" : {
"type" : " text "
}
}
},
"desired_skills" : {
"type" : " nested " ,
"properties" : {
"alias" : {
"type" : " keyword " ,
"index" : true
},
"name" : {
"type" : " text "
}
}
}
}
}
} package main
import (
"testing"
"github.com/YaroslavPodorvanov/golang-struct-to-elastic-mapping/generator"
"github.com/stretchr/testify/require"
)
func TestExample ( t * testing. T ) {
// language=JSON
const expected = `...`
var result , err = generator . Generate ( & Vacancy {})
require . NoError ( t , err )
require . Equal ( t , expected , string ( result ))
}