what is OpenSearch? if Opensearch and Elasticsearch are compatible?

w

Hi, I am glad to see you again.

I propose to start the current article with the question: “What is OpenSearch”. Let’s visit at 1st the official AWS documentation: “Amazon OpenSearch Service is the successor to Amazon Elasticsearch Service and supports OpenSearch and legacy Elasticsearch OSS (up to 7.10, the final open source version of the software). When you create a cluster, you have the option of which search engine to use.”

And here is another interesting note: On September 8, 2021, Amazon Elasticsearch Service was renamed to Amazon OpenSearch Service. OpenSearch Service supports OpenSearch as well as legacy Elasticsearch OSS.

From current information we can make the conclusion that OpenSearch came from Elasticsearch. They are both toughly related. But next questions should be raised: Can we easily use Opensearch instead of Elasticsearch? Is it the same or different products? Why does OpenSearch appear at all?

The deep answer for that is – money, money, money 🙂 There is one good article about it, here is the link to it. The most essential paragraph here is the next one:

“Elastic, whose developers founded and then commercialized the Elasticsearch project, changed the licensing terms for the analytics and data visualization software to prevent AWS from packaging it as a service. AWS promptly responded with the open source equivalent of the nuclear option: It forked the project and created a separate version customized for its use.”

I recommend that you read the whole article as  it covers a lot of interesting business aspects. 

So now we know why OpenSearch appeared. Now let’s try to find out if Opensearch and Elasticsearch are compatible. From OpenSearch FAQ:

1.8 Is OpenSearch wire-compatible with Elasticsearch?

Yes. OpenSearch is a fork of open source Elasticsearch 7.10. As such, it provides backwards REST APIs for ingest, search, and management. The query syntax and responses are also the same. In addition, OpenSearch can use indices from Elasticsearch versions 6.0 up to 7.10. We also aim to support the existing Elasticsearch clients that work with Elasticsearch 7.10.

1.15 Will you be making contributions back to Elasticsearch open-source?

No. Open source Elasticsearch development ended with 7.10 when it was moved to a non-open source license. OpenSearch software will move forward according to the needs of the community. That said, all OpenSearch software built for its customers and the community is released under the ALv2 license and we welcome anyone to use the software under the ALv2 terms and conditions.

So, in short – yes Opensearch and Elasticsearch are almost completely equal products. And I can confirm from my commercial practice that all advanced search mechanisms that were working at Elasticsearch 7 version were working in the same way after migration from Elasticsearch cluster to OpenSearch.
Though as you know Elasticsearch 8 is already on the market. Unfortunately I still could not verify it at commercial practice. But looking at Elasticsearch main changes, from my opinion, nothing special appeared here, except some optimizations or rather narrow specialized features. From another side Opensearch is also developed rather actively – you may check it at official OpenSearch GitHub page


Hard to say what will be the future of OpenSearch. But in my opinion you can use it as an Elasticsearch alternative without any problems – at least until you will not need some special functions from Elasticsearch with versions above 7 that would not be accepted by Opensearch.

Ok, so now we now what is OpenSearch, where is it came from and that we can use it as a fully compatible Elasticsearch 6-7th analog. At next article we will prepare and set initial terraform environment. We will also run our 1st pre-init terraform module, which will create s3 bucket for keeping terraform state, and DynamoDB table for keeping terraform locks within the best DevOps practices. If you are interested at theme: “How to deploy high available OpenSearch cluster at AWS using terraform”, then you may subscribe to my newsletter. Alternatively, you may pass all material at once in convenient and fast way at my on-line course at udemy. Below is the link to the course. As the reader of that blog you are also getting possibility to use coupon for the best possible low price.


architecture AWS cluster devops devops-basics docker elasticsearch flask geo high availability java php programming languages python recommendation systems search systems spring boot symfony