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 ))
}