Elastico
The elastico utility works on your Elasticsearch cluster(s). You can use it to gain cluster status, search through indexes and types, copy indexes from one cluster to another, create and restore backups.
State
Elastico is work in progress. The software is by no means ready.
Install
Installation using Brew is most convenient. Brew will compile the source and maintain the installation.
Install using Brew
$ brew tap dutchcoders/homebrew-elastico
$ brew install elastico
Compiling from sourcecode
Make sure Go 1.6 is installed.
$ go get github.com/constabulary/gb/...
$ gb build
Contributions
Contributions are welcome.
Creators
Remco Verhoef
Copyright and license
Code and documentation copyright 2016 Remco Verhoef.
Usage
The -json
parameter will give you the plain json output instead of the formatted output.
The -host
parameter defines the url of the elasticsearch cluster to operate on.
The -debug
parameter defines debugging mode for all requests and responses.
Templates
Every output template can be customized by creating a Go template in "~/.elastico" with the name of the command. The template will get the object of the response as its parameter. For example you can create a index:stats.template to customize the output as you like.
Cluster
Health
$ elastico cluster:health
State
$ elastico cluster:state
Index
Create
Create a new index.
$ elastico index:create -index {name}
Delete
Delete the index.
$ elastico index:delete -index {name}
Copy
This command will copy an index (type) from a location to another location. This can be on the same cluster, or on a different one.
$ elastico index:copy (-index {index}) (-type {type}) {dest}
Stats
This command will show you the stats of the index(es) or all indexes.
$ elastico index:stats (-index {index})
Get
This command will retrieve info and settings about the index(es) or all indexes.
$ elastico index:get (-index {index})
Recovery
$ elastico index:recovery -index {index}
Snapshots
All
Show snapshots.
$ elastico snapshots
Register
$ elastico snapshot:register -location {location} -type fs {name}
Status
$ elastico snapshot:status
Search
Search will search through the indexes and show the relevant highlighted results.
$ elastico search (-disable-highlight) (-index {index}) (-type {type}) your-query
You can also define your own query, and pipe it to elastico.
$ cat query.json | elastico search (-index {index}) (-type {type})
Document
Get
The get command allows to get a typed JSON document from the index based on its id.
$ elastico document:get -index {index} -type {type} {documentid}
Put
$ cat doc.json | elastico document:put -index {index} -type {type} {documentid}
Analyze
Performs the analysis process on a text on a specific index and return the tokens breakdown of the text.
$ elastico analyze -index {index} -field {field} text-to-analyze
Mapping
Edit
Edit will open your default editor with the current mapping of the type. The modifications you'll make will be send to Elasticsearch.
$ elastico mapping:edit -index {index} -type {type}