This repo archived Sept 2022 as part of the transition from Pilosa to FeatureBase. Please contact community[at]featurebase[dot]com with any questions.
Go client for Pilosa high performance distributed index.
See: CHANGELOG
- Go 1.12 and higher.
Download the library in your GOPATH using:
go get github.com/pilosa/go-pilosa After that, you can import the library in your code using:
import "github.com/pilosa/go-pilosa"Assuming Pilosa server is running at localhost:10101 (the default):
package main import ( "fmt" "github.com/pilosa/go-pilosa" ) func main() { var err error // Create the default client client := pilosa.DefaultClient() // Retrieve the schema schema, err := client.Schema() // Create an Index object myindex := schema.Index("myindex") // Create a Field object myfield := myindex.Field("myfield") // make sure the index and the field exists on the server err = client.SyncSchema(schema) // Send a Set query. If err is non-nil, response will be nil. response, err := client.Query(myfield.Set(5, 42)) // Send a Row query. If err is non-nil, response will be nil. response, err = client.Query(myfield.Row(5)) // Get the result result := response.Result() // Act on the result if result != nil { columns := result.Row().Columns fmt.Println("Got columns: ", columns) } // You can batch queries to improve throughput response, err = client.Query(myindex.BatchQuery( myfield.Row(5), myfield.Row(10))) if err != nil { fmt.Println(err) } for _, result := range response.Results() { // Act on the result fmt.Println(result.Row().Columns) } }See: Server Interaction
See: Importing and Exporting Data
See: CONTRIBUTING
See: LICENSE