项目作者: at15

项目描述 :
Solr client in golang
高级语言: Go
项目地址: git://github.com/at15/go-solr.git
创建时间: 2017-07-12T03:31:36Z
项目社区:https://github.com/at15/go-solr

开源协议:MIT License

下载


go-solr

GoDoc
Build Status
codebeat badge

Solr client in golang

Usage

  • install the cli using go get -u github.com/at15/go-solr/cmd/solrgo, it can create core and index json document
  1. package main
  2. import (
  3. "context"
  4. "fmt"
  5. "log"
  6. "os"
  7. "github.com/at15/go-solr/solr"
  8. )
  9. const coreName = "job"
  10. func main() {
  11. c := solr.Config{}
  12. solrClient, err := solr.NewClient(c)
  13. if err != nil {
  14. log.Fatal(err)
  15. return
  16. }
  17. if err := solrClient.IsUp(context.Background()); err != nil {
  18. log.Fatalf("Solr is not up %v", err)
  19. return
  20. }
  21. log.Println("Solr is up")
  22. solrClient.UseCore(coreName)
  23. if status, err := solrClient.DefaultCore.Status(context.Background(), false); err != nil {
  24. log.Fatalf("Check core status failed %v", err)
  25. return
  26. } else {
  27. log.Printf("Got status for core %s %v\n", coreName, status)
  28. }
  29. }

Features

  • standalone command line util (single binary)
  • query builder
  • auto convert struct to JSON when ingest document

Not implemented

Roadmap

  • using managed schema
    • generate schema xml based on golang struct (w/o?) annotation
    • support schema less
  • query using JSON API
  • v2 API
  • collect metrics about upstream
  • client side load balancing

Alternatives