Can elasticsearch 2.2 client library work with older version of elasticsearch 1.3 - elasticsearch

A feature in my project is already using 1.3 of elasticsearch and for new feature the plan is to use ES 2.2 also it is for some reasons that I cannot upgrade existing ES 1.3 to ES 2.2
Can one single version of elasticsearch client library (preferably 2.2) work with both versions of ES 1.3 and ES 2.2?
I know ES has changed a lot of their APIs from 2.0 but curious to know if someone has tried this path.

The Java client must be from the same major version of Elasticsearch
as the nodes; otherwise, they may not be able to understand each
other. https://www.elastic.co/guide/en/elasticsearch/guide/current/_talking_to_elasticsearch.html

Related

How to achieve zero downtime while migrating an app that uses ES from Springboot 1.5.x to 2.x

Is there any elegant way to migrate spring boot apps that use Elasticsearch with no downtime?
Springboot 1.5 is about to end-of-life soon, so it's time to upgrade to 2.x.
It's known, that SDES 2.x included in boot's release train can't work with ES 5 and above. So, I still have Elasticsearch 2.4.6 on production.
SDES of version 3, that works with springboot 2, can't work with Elasticsearch 2.x. I tried to connect using transport client of version 5 and was wondered by very funny message in ES logs:
Received message from unsupported version: [5.0.0] minimal compatible version is: [2.0.0]
In other words, it's not possible neither use old code with new Elasticsearch nor use old Elasticsearch with new code.
Have no idea what should be upgraded first. Hope someone had similar problem and can advise some kind of workaround to make things happen.
Springboot 1.5 is about to end-of-life soon
Spring Boot 1.x was EOL'd on August 1st, 2019
Is there any elegant way to migrate spring boot apps that use Elasticsearch with no downtime?
There are a variety of methods you can do, but it all boils down to your setup. There are two commonly used methods:
Blue-green deployment
Canary release
But again, it all depends on your setup.

ApacheManifoldCF elasticsearch output connector version compatibility

I am trying to connect elasticsearch as output connector from apache ManifoldCF.Using elasticsearch 7.1.X version which is not working.
Can you suggest will maniFoldCF work with latest elasticsearch version ?
Tried configuring the repository and output plugin with elasticsearch. Executed a job but nothing turned up in elasticsearch.
Data should be crawled from repo to elasticsearch index. But its not happening with latest elasticsearch version.
The latest release of ManifoldCF was tested successfully for version 7.x. See this ticket:
https://issues.apache.org/jira/browse/CONNECTORS-1639
Looking at the output connector interoperability notes for version 2.15 (the latest as of this writing) the Elasticsearch connector was tested against 1.x instances Tested with ElasticSearch 1.0, 1.1, 1.2, 1.3 Included Connectors. Knowing of breaking changes in both ES 6.x and 7.x releases I would guess the connector will need some modifications to work with the latest 6, 7, and maybe even 5.x versions of Elasticsearch. Should be a relatively simple task to clone the default connector and make the changes to add support though.

Spring Data Elasticsearch w/ Elasticsearch 6.2.1

I am trying to get Spring Data Elasticsearch to work with Spring-Boot-1.5.9.RELEASE.
I realize that so far the only supported version is up to 5.5 # 3.0.0.RC2, I realized there is a pull-request supporting 6.1, so I tried to compile and run it, but it played hell on the rest of the Spring-boot configurations as it requires a later version of spring-data-core.
I'm also wondering if this is all pointless, as we're using hosted Elasticsearch and it maybe only accessible over HTTP (on Elastic Cloud)
Thoughts?

DeletebyQuery replacement in NEST 2.0.4

My earlier version of NEST used to support the following code for DeleteByQuery
ESClient.DeleteByQuery<object>(q => q.Query(q1 => q1.QueryString(qs => qs.Query("*"))));
Now, that the nugetPackage of NEST elastic version has changed to 2.0.4, I am unable to work using the existing code. Could anyone please let me know what could be replacement for it. My Elastic Search is version 1.5.1
Thanks
cmrhema
NEST 2.x is not compatible with Elasticsearch 1.x; there are breaking changes on the Elasticsearch side that are reflected as changes in NEST. The NEST github repository shows the compatibility matrix, which is essentially
NEST 1.x is compatible with Elasticsearch 1.x
NEST 2.x is compatible with Elasticsearch 2.x
and in prerelease, NEST 5.0.0-alpha1 is compatible with Elasticsearch 5.0.0-alpha1.
If you're using Elasticsearch 2.x, it is recommended to use NEST 2.3.1, as it contains a fix for a memory leak that exists in prior NEST 2.x versions.
DeleteByQuery is no longer part of Elasticsearch core in 2.x and is available as a plugin.

ElasticSearch version supported in Spring Data

I am using Spring Data ElasticSearch 1.3.2 release, which comes with ElasticSearch 1.5.2 by default. Is it possible to upgrade to the latest version of ES (2.0) without breaking the Spring Data ES repository API ?
No. Due to several changes in the ES API this is not possible. Please see DATAES-211 for details.
The current unstable working branch can be found here: tree/DATAES-211-ES2.0

Resources