Useful commands for Elasticsearch
Project description
elastic-companion
=================
A command-line tool and API for various Elasticsearch operations.
.. image:: https://travis-ci.org/getconversio/elastic-companion.svg?branch=master
:target: https://travis-ci.org/getconversio/elastic-companion
Install
-------
pip install elastic-companion
**Note**: The 1.X versions of elastic-companion support Elasticsearch 1.X and
the 5.X versions support Elasticsearch 5.X. This is similar to the versioning
of the official library
Commands
--------
To see the list of commands, use the ``-h`` or ``--help`` flag.
Each command has a corresponding Python module that can be imported and used as
an API rather than from the command-line.
### `setup`
The `setup` command will load all indexes, mappings, templates and scripts from the data directory, and send them to ES.
#### `/scripts`
The scripts folder should have `.json` files which act as script descriptors. Each file should have the content:
```json
{
"id": "SCRIPT_ID",
"lang": "SCRIPT_LANG",
"body": "SCRIPT_BODY",
"path": "SCRIPT_BODY_FILE_PATH"
}
```
While `id` and `lang` are required and should match the requirements of ES. These will determine how each script is stored. The values `body` and `path`, however, are mutually exclusive and only one is required. You can specify the script's body directly inline under `body`, or point to a file using `path`.
Developing
----------
If you are using Docker and Docker Compose, then you don't need to fiddle with
python and pip manually. Otherwise, see below.
Download Python 3, then::
$ pyvenv-3.X venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
$ ./cli.py -h
On Ubuntu, there's a bit of an issue with ``pip3`` and the above might not work.
Then::
$ pyvenv-3.X venv --without-pip
$ source venv/bin/activate
$ cd venv
$ wget https://bootstrap.pypa.io/get-pip.py
$ python3 get-pip.py
$ cd ..
$ pip3 install -r requirements.txt
$ ./cli.py -h
Testing
-------
Use ``nose``::
$ nosetests
or::
$ docker-compose run --rm companion nosetests
Deploying
---------
You need access to the pypi repository first, then it's just a matter of::
$ python setup.py sdist bdist_wheel
$ twine upload dist/*
=================
A command-line tool and API for various Elasticsearch operations.
.. image:: https://travis-ci.org/getconversio/elastic-companion.svg?branch=master
:target: https://travis-ci.org/getconversio/elastic-companion
Install
-------
pip install elastic-companion
**Note**: The 1.X versions of elastic-companion support Elasticsearch 1.X and
the 5.X versions support Elasticsearch 5.X. This is similar to the versioning
of the official library
Commands
--------
To see the list of commands, use the ``-h`` or ``--help`` flag.
Each command has a corresponding Python module that can be imported and used as
an API rather than from the command-line.
### `setup`
The `setup` command will load all indexes, mappings, templates and scripts from the data directory, and send them to ES.
#### `/scripts`
The scripts folder should have `.json` files which act as script descriptors. Each file should have the content:
```json
{
"id": "SCRIPT_ID",
"lang": "SCRIPT_LANG",
"body": "SCRIPT_BODY",
"path": "SCRIPT_BODY_FILE_PATH"
}
```
While `id` and `lang` are required and should match the requirements of ES. These will determine how each script is stored. The values `body` and `path`, however, are mutually exclusive and only one is required. You can specify the script's body directly inline under `body`, or point to a file using `path`.
Developing
----------
If you are using Docker and Docker Compose, then you don't need to fiddle with
python and pip manually. Otherwise, see below.
Download Python 3, then::
$ pyvenv-3.X venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
$ ./cli.py -h
On Ubuntu, there's a bit of an issue with ``pip3`` and the above might not work.
Then::
$ pyvenv-3.X venv --without-pip
$ source venv/bin/activate
$ cd venv
$ wget https://bootstrap.pypa.io/get-pip.py
$ python3 get-pip.py
$ cd ..
$ pip3 install -r requirements.txt
$ ./cli.py -h
Testing
-------
Use ``nose``::
$ nosetests
or::
$ docker-compose run --rm companion nosetests
Deploying
---------
You need access to the pypi repository first, then it's just a matter of::
$ python setup.py sdist bdist_wheel
$ twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
elastic-companion-5.1.0.tar.gz
(12.8 kB
view hashes)
Built Distribution
Close
Hashes for elastic_companion-5.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87347bd0010e1f6297d36b7b32104d0ea4013b88de12ddae355fabca47a0a83c |
|
MD5 | ddd6861f8851e000f6ae7b784f0230d0 |
|
BLAKE2b-256 | 61d954fc6c2e25e16d639be40b0d39922f4f32bc0b662fbdbd36948b098e1084 |