Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hhatto/goroo

Yet Another Groonga Client for Go
https://github.com/hhatto/goroo

Last synced: about 1 month ago
JSON representation

Yet Another Groonga Client for Go

Awesome Lists containing this project

README

        

# goroo (ごろう) [![Build Status](https://travis-ci.org/hhatto/goroo.png?branch=master)](https://travis-ci.org/hhatto/goroo)

Yet Another Groonga Client for Go.

## Installation
```
$ go get github.com/hhatto/goroo
```

## Usage

### with HTTP
1. Start Groonga Server (with HTTP)

```
$ groonga -s -l 8 --log-path ./grn.log --protocol http grn.db
```

2. execute client code

```go
package main

import (
"fmt"

"github.com/hhatto/goroo"
)

func main() {
client := goroo.NewClient("http", "localhost", 10041)
result, err := client.Call("select", map[string]string{"table": "Users"})
if err != nil {
fmt.Println("Call() error:", err)
return
}
fmt.Println(result)
}
```

### with GQTP
1. Start Groonga Server (with GQTP)

```
$ groonga -s -l 8 --log-path ./grn.log --protocol gqtp grn.db
```

2. execute client code

```go
package main

import (
"fmt"

"github.com/hhatto/goroo"
)

func main() {
client := goroo.NewClient("gqtp", "localhost", 10043)
result, err := client.Call("select", map[string]string{"table": "Users"})
if err != nil {
fmt.Println("Call() error:", err)
return
}
fmt.Println(result)
}
```

## License
MIT