The perfect starting point to integrate Algolia within your Go project
Documentation • Community Forum • Stack Overflow • Report a bug • FAQ • Support
- Support Go 1.11 and above
- Typed requests and responses
- First-class support for user-defined structures
- Injectable HTTP client
Migration note from v2.x to v3.x
In June 2019, we released v3 of our Go client. If you are using version 2.x of the client, read the migration guide to version 3.x. Version 2.x will no longer be under active development.
First, add the Algolia Go API Client as a new module to your Go project:
# First line is optional if your project is already defined as a Go module
go mod init <YOUR_PROJECT_NAME>
go get github.com/algolia/algoliasearch-client-go/v3@v3.4.0
Then, create objects on your index:
package main
import "github.com/algolia/algoliasearch-client-go/v3/algolia/search"
type Contact struct {
ObjectID string `json:"objectID"`
Name string `json:"name"`
}
func main() {
client := search.NewClient("YourApplicationID", "YourAPIKey")
index := client.InitIndex("your_index_name")
res, err := index.SaveObjects([]Contact{
{ObjectID: "1", Name: "Foo"},
})
}
Finally, you may begin searching a object using the Search
method:
package main
import (
"fmt"
"os"
"github.com/algolia/algoliasearch-client-go/v3/algolia/search"
)
type Contact struct {
ObjectID string `json:"objectID"`
Name string `json:"name"`
}
func main() {
client := search.NewClient("YourApplicationID", "YourAPIKey")
index := client.InitIndex("your_index_name")
res, err := index.Search("Foo")
if err != nil {
fmt.Println(err)
os.Exit(1)
}
var contacts []Contact
err = res.UnmarshalHits(&contacts)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println(contacts)
}
For full documentation, visit the Algolia Go API Client.
Encountering an issue? Before reaching out to support, we recommend heading to our FAQ where you will find answers for the most common issues and gotchas with the client.
If you wish to contribute to the repository but would like to avoid installing the dependencies locally, we provided you with a Docker image. Please check our dedicated guide to learn more.
Algolia Go API Client is an open-sourced software licensed under the MIT license.