We are in the middle of a migration from spring-boot 2.7 to spring-boot 3.1 and from jdk11 to jdk17 as well.
We use elasticsearch 7.10.2 in local development, and our application run in AWS, using Amazon OpenSearch (with Elasticsearch 7.10 version).
We use spring-data-elasticsearch dependency for connection and running queryes in elasticsearch.
The new spring-boot 3.1 have the latest spring-data-elasticsearch dependency which was made for 8.X elasticsearch, so as I can see compatibility will be an issue. I haven't found many migration guides for this case.
The question is that, if we happen to upgrade the code to use the latest spring-data-elasticsearch dependency and we need to upgrade elasticsearch itself to 8.0 in AWS, how can we do that? Amazon OpenSearch is only compatible with elasticsearch 7.10 as I can see. So we cannot upgrade it to elasticsearch 8.
If we stay with Amazon OpenSearch and upgrade it to OpenSearch latest version (2.X), it will be compatible with latest spring-data-elasticsearch dependency? Or do we need some dependency straight from amazon? (As this will be not elasticsearch but OpenSearch from Amazon)
Should we stay with Amazon OpenSearch, and maybe rewrite every elasticsearch related code(depending on the required dependency)? Or should we go to Elasticsearch 8, and drop OpenSearch, and create elasticsearch 8 cluster with our own in AWS (with EC2 instance etc.)?