52 lines
1.7 KiB
Go
52 lines
1.7 KiB
Go
|
// Copyright 2012-present Oliver Eilhard. All rights reserved.
|
||
|
// Use of this source code is governed by a MIT-license.
|
||
|
// See http://olivere.mit-license.org/license.txt for details.
|
||
|
|
||
|
/*
|
||
|
Package elastic provides an interface to the Elasticsearch server
|
||
|
(https://www.elastic.co/products/elasticsearch).
|
||
|
|
||
|
The first thing you do is to create a Client. If you have Elasticsearch
|
||
|
installed and running with its default settings
|
||
|
(i.e. available at http://127.0.0.1:9200), all you need to do is:
|
||
|
|
||
|
client, err := elastic.NewClient()
|
||
|
if err != nil {
|
||
|
// Handle error
|
||
|
}
|
||
|
|
||
|
If your Elasticsearch server is running on a different IP and/or port,
|
||
|
just provide a URL to NewClient:
|
||
|
|
||
|
// Create a client and connect to http://192.168.2.10:9201
|
||
|
client, err := elastic.NewClient(elastic.SetURL("http://192.168.2.10:9201"))
|
||
|
if err != nil {
|
||
|
// Handle error
|
||
|
}
|
||
|
|
||
|
You can pass many more configuration parameters to NewClient. Review the
|
||
|
documentation of NewClient for more information.
|
||
|
|
||
|
If no Elasticsearch server is available, services will fail when creating
|
||
|
a new request and will return ErrNoClient.
|
||
|
|
||
|
A Client provides services. The services usually come with a variety of
|
||
|
methods to prepare the query and a Do function to execute it against the
|
||
|
Elasticsearch REST interface and return a response. Here is an example
|
||
|
of the IndexExists service that checks if a given index already exists.
|
||
|
|
||
|
exists, err := client.IndexExists("twitter").Do(context.Background())
|
||
|
if err != nil {
|
||
|
// Handle error
|
||
|
}
|
||
|
if !exists {
|
||
|
// Index does not exist yet.
|
||
|
}
|
||
|
|
||
|
Look up the documentation for Client to get an idea of the services provided
|
||
|
and what kinds of responses you get when executing the Do function of a service.
|
||
|
Also see the wiki on Github for more details.
|
||
|
|
||
|
*/
|
||
|
package elastic
|