golang struct to elastic mapping
1.0.0
このプロジェクトまたはそのソースコードを使用することにより、あらゆる目的および任意の形状で、次のすべてのステートメントに暗黙の合意を付与します。
戦争とどのように支援できるかについての詳細については、ここをクリックしてください。ウクライナへの栄光! ??
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 ))
}