ES6からES7へマイグレーションしていて
ES6のときからライトに使用していたので、アプリケーションの修正点は少なかったが、まとめておく
typeがindexがなくなる
template作成時に以下のようにmappings
の下にitem
というtypeを作っていたが、ES7からtypeがなくなるので変更する必要がある
/_template/my-index-template { "index_patterns": "twitter", "order": 0, "settings": { "number_of_shards": 1, "number_of_replicas": 2 }, "mappings": { "item": { ... } } }
検索の時なども
/twitter/item/_search
ではなく、
/twitter/_search
になる
Javaでの変更点
elasticsearch-rest-high-level-client
を使っている場合は以下が変更点となる
Before
IndexRequest indexReq = new IndexRequest(MY_INDEX, "item", myIndex.getId().getValue());
After
IndexRequest indexReq = new IndexRequest(MY_INDEX);
indexReq.id(myIndex.getId().getValue());
typeがあるindexをES7へrestore
これは特に何もせずできた
逆にES7でもtypeを保持しておきたい場合はinclude_type_name=true
オプションをつけてあげればよいみたい