The sphinx(full text search server) client package for the Go programming language.
go get github.com/yunge/sphinx
Import "documents.sql" to "test" database in mysql;
Change the mysql password in sphinx.conf;
Copy the test.xml to default dir in sphinx.conf:
cp test.xml /usr/local/sphinx/var/data
Index the test data:
indexer -c sphinx_lib_path/sphinx.conf --all --rotate
Start sphinx searchd with "sphinx.conf":
searchd -c sphinx_lib_path/sphinx.conf
Then "cd" to sphinx_lib_path:
go test
import (
"github.com/yunge/sphinx"
)
// Get sphinx client
opts := &Options{
Host: host,
Port: 9312,
Timeout: 5000,
}
sc := sphinx.NewClient(opts)
// Or use this style:
// Note: SetServer("", 0) means use default value.
sc := sphinx.NewClient().SetServer(host, 0).SetConnectTimeout(5000)
if err := sc.Error(); err != nil {
// handle err
}
res, err := sc.Query(words, index, "Some comment...")
if err != nil {
// handle err
}
for _, match := range res.Matches {
// handle match.DocId
}
More examples can be found in test files.
BSD License http://opensource.org/licenses/bsd-license