Elasticsearch upgrade? a comparison tool helps enormously
Tags: tech, development, programming, elasticsearch
Published: 2023-04-26 13:44:31

I want to tell y'all (can you tell I just moved to Texas? 🤠) about a [recent project](https://softjourn.com/insights/expense-management-leader-elasticsearch-upgrade) we worked on with a global leader in expense management and AP automation solutions. 

This client trusted us (gulp) to help upgrade their Elasticsearch from version 2.3.4 to version 7.9, which was a pretty big leap!

{% embed https://youtu.be/sIWOmSS3wg8 %}

We know how it is for many clients, sometimes they'll set up an Elasticsearch cluster and not always keep it up-to-date with the latest version. But with every new release, you get the chance to take advantage of new features, fixes, and enhancements. 

And when it comes to clients in the finance industry, data is everything, so managing it correctly with [Elasticsearch](https://softjourn.com/insights/elasticsearch-101-key-concepts-benefits-use-cases) is a great way to go.

Now, upgrading Elasticsearch can be a real pain, especially when -- if you're like our client -- you're several major releases behind the stable version 😬. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hb6ndju7wm7kcoz6vh7i.png)

But it's worth it because newer versions provide a faster, easier to use, and more secure and resilient user experience. And in the case of version 7.9, it comes with some sweet enhancements, like an endpoint for bulk deletion, which makes it easier to replace and clean up data. Plus, it provides performance improvements, faster searches, and more accurate results.

But upgrading from version 2.3.4 to 7.9 was no easy feat. Our client had a very complex Elasticsearch system with over 10 types of different searches, and they wanted to be sure the new search capabilities would work the same as their past version. 

So, 🌟 **we developed a custom comparison tool** 🌟 to ensure the accuracy of the new search before launching the product to their users.

We built Java microservices from scratch and evaluated the old and new search versions using the comparison tool. We analyzed the percent of errors between searches in version 2.3.4 and version 7.9, investigated and provided insights on what could cause a difference in results, and after changes, re-compared the versions using the tool. 

And guess what? Our [comparison tool](https://softjourn.com/insights/expense-management-leader-elasticsearch-upgrade) managed to show less than a 1% difference between the old and new versions, and our team managed to achieve a .02% difference for 500,000 search queries! 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j2nyrna8spwvdcjk1dqa.png)

The client was impressed with the comparison and felt confident to launch the upgrade of their Elasticsearch, and we all rode off into the sunset 🌅 (Okay, maybe not the last part)

Now their Elasticsearch is hosted on AWS infrastructure, and their users will have the same experience, or even faster when they use the search functionalities. 

And as an additional perk, our client can use the custom comparison tool for future Elasticsearch upgrades to ensure accuracy.

So, the moral of the story is, even though upgrading Elasticsearch can be a pain, it's worth it in the end. And with the help of an [expert partner](https://softjourn.com/elasticsearch-consulting-services) (ahem), you can make a smooth upgrade happen, no matter how many versions behind you are. 

The full article about our project can be found [here](https://softjourn.com/insights/expense-management-leader-elasticsearch-upgrade), or you can check out our [Youtube video](https://youtu.be/sIWOmSS3wg8).