Elasticsearch setup
Reads settings from files and sets up an elasticsearch node. Currently supports aliases, index settings, and type mapping.
Usage
HTTP authentication
$ essetup [host] [settingsDir] --user=[username] --pass=[password]
- host: fully qualified URL (such as http://localhost:9200)
- settingsDir: location of settings directory relative to where you are running the command (such as ../settings or ./settings)
- --user: (optional) Username for HTTP authorization
- --pass: (optional) Password for HTTP authorization
AWS Signature Version 4 authentication
$ essetup [host] [settingsDir] --aws_accessKeyId=[accessKeyId] --aws_secretAccessKey=[secretAccessKey] --aws_region=[region]
- host: fully qualified URL (such as http://localhost:9200)
- settingsDir: location of settings directory relative to where you are running the command (such as ../settings or ./settings)
- --aws_accessKeyId: (required) Access key ID
- --aws_secretAccessKey: (required) Secret access key
- --aws_region: (optional) Region (default: us-east-1)
Settings directory structure
index_one
settings.json
mappings
type_one.json
type_two.json
index_two
settings.json
mappings
type_one.json
type_two.json
aliases.json
Note: Index settings files can also be written in YAML. For now, elasticsearch requires all other settings files must be JSON.
Things to note:
-
index_one
andindex_two
are directories whose names coorespond to the names of the indicies they are to create. -
settings.json
define the settings of the index they are contained within. JSON/YAML in this file should follow this structure. -
type_one.json
andtype_two.json
are files whose names coorespond to the names of the types they are to create within an index. JSON within the type desigations should follow this structure. -
aliases.json
should follow this structure.