# Migration path from embedded 2.x to current

**URL:** <https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080>\
**Category:** Elasticsearch\
**Created:** [February 9, 2023, 4:40am UTC](https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080 "2023-02-09T04:40:29Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cyntech](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/cyntech/32/116926_2.png) [@Cyntech](https://discuss.elastic.co/u/Cyntech)\
**Post date:** [February 9, 2023, 4:40am UTC](https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080/1 "2023-02-09T04:40:29Z")

</div>

I'm the developer of a Grails web application that had embedded Elastic Search 1.x implemented more around 10 years ago (not by me, I've only been the developer for the last 2 yrs).  
In the process of upgrading to Grails 5/JDK 11, we looked at bringing ES up to current version as well (1.x -\> 2.4 -\> 5.6 -\> 7.17).

I did originally look at keeping the embedded ES, at least until later this year when I would have more time to look at implementing ES Server (due to embedded no longer being supported). I was able to upgrade to ES 2.4 easily enough, however, going to 5.6 was a lot harder due to the more server-centric approach, and would take a lot of time and effort to achieve.

Instead, we will migrate to ES Server, however, I am struggling to find any documentation on how one would migrate from an embedded ES implementation to a server install.

Would implementing ES 2.4 server and then upgrading from there work or is it more of a case of creating a new ES instance and index from scratch (we have ~6 million records to index)?

---

<div class="post-metadata">

**Author:** ![Wave](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wave/32/117242_2.png) [@Wave](https://discuss.elastic.co/u/Wave)\
**Post date:** [February 9, 2023, 8:17pm UTC](https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080/2 "2023-02-09T20:17:03Z")

</div>

Hi @Cyntech,  
I haven't used elasticsearch as an embedded app, but I have upgraded an elastic cluster from 1.x up to 7x. Granted that upgrade happened over years as newer versions came out. Instead of doing 3 or more upgrades could you stand up your new ES server (on 7.17) and then use logstash to pull from the old 2.x system and send it on to the 7.17 server? I think you'd have less work to do there, because while 6 million documents is a bit, it doesn't sound too bad. How complex are your documents? How many indices? Of course it all depends on the specifics. 😀

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [February 9, 2023, 10:43pm UTC](https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080/3 "2023-02-09T22:43:53Z")

</div>

Welcome to our community! 😃

> [@Cyntech](#):
>
> Would implementing ES 2.4 server and then upgrading from there work or is it more of a case of creating a new ES instance and index from scratch (we have ~6 million records to index)?

You are better off setting up a new cluster (of a single node is ok) and reindexing into it.

---

<div class="post-metadata">

**Author:** ![Cyntech](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/cyntech/32/116926_2.png) [@Cyntech](https://discuss.elastic.co/u/Cyntech)\
**Post date:** [February 10, 2023, 5:55am UTC](https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080/4 "2023-02-10T05:55:36Z")

</div>

We only have the one index and it's modelled on a core table in our database that has a number of child tables, so while it's not a simple document, it's probably not hugely complex - just a lot of fields.

I have a local replica of our production database, I'll play around with your suggestion on my local machine and see how it goes (I'll try Mark Walkom's suggestion too).

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [February 10, 2023, 6:16am UTC](https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080/5 "2023-02-10T06:16:47Z")

</div>

As you goven the step in versions will need to switch to using a client library or different client library I would recommend moving to Elasticsearch 8.6 instead of 7.17 as there has been breaking changes in the Java client and this would make it easier to upgradein the future.

---

<div class="post-metadata">

**Author:** ![Wave](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wave/32/117242_2.png) [@Wave](https://discuss.elastic.co/u/Wave)\
**Post date:** [February 10, 2023, 1:41pm UTC](https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080/6 "2023-02-10T13:41:35Z")

</div>

@Cyntech Sounds good. @warkolm and I are basically saying the same thing so you should be good to go. Good luck, you've got this! 😃

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 10, 2023, 1:41pm UTC](https://discuss.elastic.co/t/migration-path-from-embedded-2-x-to-current/325080/7 "2023-03-10T13:41:49Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
