diff --git a/README.md b/README.md index ead3bbf..cc2d48d 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,48 @@ Elasticsearch CLI +## Introduction + +This is a handy cli tool which interfaces to an elasticsearch cluster +(or two of them if you're using cross cluster replication). It is a +work-in-progress project yet, things might change occasionally. Expect +a stable release once we reach major version 1.0.0. + +Features: + +- Configuration of cluster credentials using environment vars or + config file. Multiple clusters can be configured. `esctl cluster ls` + shows which one is reachable. +- Shell completion support (bash, zsh and fish). Put this into your + rc: `source <(esctl completion bash)`. +- Cluster settings can be viewed and modified. +- Search: you can search indices using full text or by fields, select + logical condition (OR, AND), use PIT, limit datetime (ES date math + can be used), etc. It is however not yet possible to create + recursive searches like: `(cond1 AND cond2) OR (cond3 OR cond4)`. +- Cross cluster replication (ccr): view, pause, resume, delete + replication. You can also manage follower configuration. +- Index management: manage aliases, create, modify, delete indices, + display field mappings etc. +- Node management: only list nodes yet. +- Shard management: only list shards yet. +- Snapshot management: only list snapshots yet. +- Role management: only list roles yet. There's also a `role diff` + subcommand, which is for internal use. It can be used to verify if + role defs in a CSV match the deployed roles. +- Repl: this is an interactive REPL (read eval print loop) towards the + elasticsearch API. You can run API calls on the current selected + cluster w/o the hassle to specify the whole url, credentials etc. It + has line editing and history support. If `jq` is installed output + JSON will be syntax highlighted. +- Doc support. You can put, delete and show docs for an index. Very + handy if you want to play with it. Just create a new index: + `esctl index create foo` and then insert docs into it for search + experiments: + ```console + esctl doc add -i foo2 '{"title":"curry in a hurry", "message":"australian thai"}' + ``` + ## Usage Command tree: @@ -91,10 +133,6 @@ can omit `-c ...`. If you want to work on a specific cluster, specify its name with the global `-C` option. -## Introduction - -FIXME - ## Installation The tool does not have any dependencies. Just download the binary for