This plugin will help you to check whether you can upgrade directly to Elasticsearch version 2.x, or whether you need to make changes to your data before doing so. It will run on Elasticsearch versions 0.90.x to 1.x.
Note
|
Checks are limited only to data that is stored in the cluster, such as cluster and index settings, mappings, and segments. It does not take settings files or your use of the API into account. You should still test your application thoroughly and backup your data before upgrading. |
Each check is given a color, whose meaning is as follows:
- Green
-
All OK.
- Blue
-
An advisory note that something has changed. No action needed.
- Yellow
-
You can upgrade directly, but you are using deprecated functionality which will not be available in version 2.x.
- Red
-
You cannot upgrade without fixing this problem.
Read more about important changes in the Breaking Changes documentation online.
To install, run the following command in your Elasticsearch home directory:
./bin/plugin -i elastic/elasticsearch-migration
Then open the following URL in your browser: http://localhost:9200/_plugin/migration
This plugin will check cluster settings and each index for the following:
-
Cluster settings:
-
Use of byte or time settings without units.
-
-
Index segments:
-
Segments created by Lucene 3, which cannot be read by Elasticsearch 2.x.
-
Indices created before 0.90 which no longer have Lucene 3 segments, but which require a setting to mark them as 2.x compatible.
-
-
Index settings:
-
In memory indices, which are no longer supported.
-
The
index.mapping.allow_type_wrapper
setting. -
Custom codecs
-
Use of "default_index" analyzer
-
Use of byte or time settings without units.
-
Use of deprecated merge policy settings.
-
-
Type mapping:
-
Type mapping name length < 256
-
Type names with initial dot
-
Custom configured
_id
field. -
Custom configured
_type
field. -
Use of an
_analyer
field. -
Use of the
_boost
field. -
Custom configured
_routing
field. -
Custom configured
_index
field. -
Use of
_size
field. -
Custom configured
_timestamp
field. -
Use of type-level default analyzer settings.
-
Use of reserved field names.
-
-
Field mapping:
-
Fields with the same name in different types with conflicting mappings.
-
Use of the
index_name
orpath
settings. -
Boolean fields, whose field value has changed from
T
/F
to1
/0
. -
Custom postings formats.
-
Compressed binary fields.
-
Fielddata formats.
-
Field names with embedded periods.
-
Use of
position_offset_gap
. -
Use of murmur3 fields.
-
Two test suites are available:
- http://localhost:9200/_plugin/migration/test.html
-
Tests all checks except the index segments checks. No setup required.
- http://localhost:9200/_plugin/migration/test_index_segments.html
-
Tests the index segments checks. Requires a pre-existing
data/
directory which is packaged with this plugin. Follow the instructions on the test suite page.