Reputation: 825
Getting this error when using searchkick with elasticsearch on mac.
Searchkick version: searchkick (4.5.2)
$ elasticsearch --version
warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release
Version: 7.10.2-SNAPSHOT, Build: oss/tar/unknown/2021-01-16T01:41:27.115673Z, JVM: 16.0.2
To reproduce
Product.reindex
Upvotes: 19
Views: 35500
Reputation: 1819
Bypass the check with a monkeypatch. For example in Rails:
# in config/initializers/elasticsearch.rb
module Elasticsearch
class Client
alias original_verify_with_version_or_header verify_with_version_or_header
def verify_with_version_or_header(...)
original_verify_with_version_or_header(...)
rescue Elasticsearch::UnsupportedProductError => exception
warn("Ignoring elasticsearch complaint: #{exception.message}")
end
end
end
Upvotes: 0
Reputation: 568
If you are using Python elasticsearch client, you need to downgrade or install version before 7.14.0.
pip install elasticsearch<7.14.0
Upvotes: 38
Reputation: 14237
Elasticsearch::UnsupportedProductError
is raised when your Elasticsearch server version don't match with Ruby's Elasticsearch client (gem elasticsearch
). In order to fix this properly you need a server that is up to date with latest Elasticsearch (ES) releases
that means if you are on ES provider like https://cloud.elastic.co/ where you work with latest versions of cluster it's easy peasy => server gets upgraded => this is not an issue
if you however work with provider that is slow to catch up with latest ES releases (like AWS Elasticsearch / AWS Opensearch where last version is 7.10 and will not get upgraded anytime soon) your only option is to use gem elasticsearch, "< 7.14"
(Siddhant's answer in this discussion ...and yes this means no potential security updates
other solution may be to silence the verification by overriding method verify_with_version_or_header as proposed in https://github.com/elastic/elasticsearch-ruby/issues/1429#issuecomment-958162468
but reality is both of this solutions are just "not recommended" workarounds. The real fix is a server upgrade
Upvotes: 1
Reputation: 825
It worked fine after degrading to elastic search < 7.14. So basically added a gem to restrict the version upgrade
gem elasticsearch, "< 7.14"
Upvotes: 20