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