Practicing Solr Using Golang (Martini Framework) with Go Mod as Programming Language, Solr as Search Platform
Your project directory structure should look like this
+ your_gopath/
|
+--+ src/github.com/moemoe89
| |
| +--+ go-solr-edo/
| |
| +--+ main.go
| + api/
| + routers/
| + ... any other source code
|
+--+ bin/
| |
| +-- ... executable file
|
+--+ pkg/
|
+-- ... all dependency_library required
- Setup Golang https://golang.org/
- Setup Solr https://lucene.apache.org/solr/
- Under
$GOPATH
, do the following command :
$ mkdir -p src/github.com/moemoe89
$ cd src/github.com/moemoe89
$ git clone <url>
$ mv <cloned directory> go-solr-edo
Make config file for local :
$ cp config-sample.json config.json
Change Solr address & collection based on your config :
http://localhost:8983/solr
collection1
Build
$ go build
Run
$ go run main.go
Make config file for docker :
$ cp config-sample.json config.json
Change Solr address & collection based on your docker config :
http://solr:8983/solr
collection1
Build
$ docker-compose build
Run
$ docker-compose up
Stop
$ docker-compose down
Create core :
$ docker exec -it --user=solr solr bin/solr create_core -c collection1
Access Solr Admin UI :
open http://localhost:8983/
Run
$ go test ./...
Run with cover
$ go test ./... -cover
Run with HTML output
$ go test ./... -coverprofile=c.out && go tool cover -html=c.out
MIT