diff --git a/bin/elastic/elastic b/bin/elastic/elastic new file mode 100755 index 0000000..c56ac73 Binary files /dev/null and b/bin/elastic/elastic differ diff --git a/bobgen.yaml b/bobgen.yaml index c23097f..1a1a14c 100644 --- a/bobgen.yaml +++ b/bobgen.yaml @@ -1,4 +1,5 @@ mysql: + # For the model generation, a local runnin mysql instance is needed. dsn: "root:12345@tcp(localhost:62001)/SS" plugins: diff --git a/build-static.sh b/build-static.sh index 10e4223..183e83a 100755 --- a/build-static.sh +++ b/build-static.sh @@ -1,2 +1,2 @@ #!/usr/bin/env sh -go build -ldflags="-s -extldflags=-static" -o=run . +go build -ldflags="-s -extldflags=-static" -o=./bin/elastic/elastic ./cmd/elastic diff --git a/main.go b/cmd/elastic/main.go similarity index 81% rename from main.go rename to cmd/elastic/main.go index e3fa564..ac24583 100644 --- a/main.go +++ b/cmd/elastic/main.go @@ -16,24 +16,24 @@ import ( ) var ( - csvPath = flag.String("csv", "aips.csv", "Path to the CSV file containing AIP names") - mysqlConnString = flag.String("mysql", "root:12345@tcp(localhost:62001)/MCP", "mysql connection string") - elasticSearch = flag.String("elastic", "http://127.0.0.1:62002", "elastic search URL") + csvPath = flag.String("csv", "aips.csv", "Path to the CSV file containing AIP names") + elasticSearch = flag.String("elastic", "http://127.0.0.1:62002", "elastic search URL") + // mysqlConnString = flag.String("mysql", "root:12345@tcp(localhost:62001)/MCP", "mysql connection string") ) func main() { flag.Parse() file, err := os.Open(*csvPath) - assert(err) + assertNoErr(err) records, err := csv.NewReader(file).ReadAll() - assert(err) + assertNoErr(err) r := []string{} for _, record := range records { r = append(r, strings.TrimSpace(record[0])) } result, err := os.OpenFile("aip_names.txt", os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0644) - assert(err) + assertNoErr(err) // Query mapping to know if it's raw or keyword: /aips/_mapping q := struct { @@ -47,11 +47,11 @@ func main() { q.Query.Term.Name = name var res ElasticAipResponse err = do(*elasticSearch+"/aips/_search", q, &res) - assert(err) + assertNoErr(err) if res.Hits.Total == 1 { fmt.Println("AIP Found: " + res.Hits.Hits[0].Source.Name) _, err = result.WriteString(name + "\n") - assert(err) + assertNoErr(err) } else if res.Hits.Total > 1 { fmt.Println("more than one match, this is not expeted") fmt.Println("Name: ", name) @@ -67,7 +67,6 @@ func do(path string, payload, responsePayload any) error { if err != nil { return err } - // fmt.Println(string(jsonBody)) body = bytes.NewReader(jsonBody) } req, err := http.NewRequest(http.MethodGet, path, body) @@ -94,13 +93,13 @@ func do(path string, payload, responsePayload any) error { func openDB(connStr string) *sql.DB { db, err := sql.Open("mysql", connStr) - assert(err) + assertNoErr(err) err = db.Ping() - assert(err) + assertNoErr(err) return db } -func assert(err error) { +func assertNoErr(err error) { if err != nil { panic(err) } diff --git a/types.go b/cmd/elastic/types.go similarity index 100% rename from types.go rename to cmd/elastic/types.go