From 025caf833bbbfd81247b82be9af11486aee8b670 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Thu, 20 Jan 2022 09:36:02 -0800 Subject: [PATCH] DRY unsupported version error [skip ci] --- lib/searchkick.rb | 6 +++++- lib/searchkick/index.rb | 2 +- lib/searchkick/query.rb | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/searchkick.rb b/lib/searchkick.rb index fc138fa..ea25f8c 100644 --- a/lib/searchkick.rb +++ b/lib/searchkick.rb @@ -33,7 +33,11 @@ module Searchkick # errors class Error < StandardError; end class MissingIndexError < Error; end - class UnsupportedVersionError < Error; end + class UnsupportedVersionError < Error + def message + "This version of Searchkick requires OpenSearch 1+ or Elasticsearch 7+" + end + end class InvalidQueryError < Error; end class DangerousOperation < Error; end class ImportError < Error; end diff --git a/lib/searchkick/index.rb b/lib/searchkick/index.rb index 4647cd8..81dc5ad 100644 --- a/lib/searchkick/index.rb +++ b/lib/searchkick/index.rb @@ -359,7 +359,7 @@ module Searchkick end rescue => e if Searchkick.transport_error?(e) && e.message.include?("No handler for type [text]") - raise UnsupportedVersionError, "This version of Searchkick requires Elasticsearch 6 or greater" + raise UnsupportedVersionError end raise e diff --git a/lib/searchkick/query.rb b/lib/searchkick/query.rb index 9df818e..3c6ecfb 100644 --- a/lib/searchkick/query.rb +++ b/lib/searchkick/query.rb @@ -210,14 +210,14 @@ module Searchkick e.message.include?("No query registered for [function_score]") ) - raise UnsupportedVersionError, "This version of Searchkick requires Elasticsearch 5 or greater" + raise UnsupportedVersionError elsif status_code == 400 if ( e.message.include?("bool query does not support [filter]") || e.message.include?("[bool] filter does not support [filter]") ) - raise UnsupportedVersionError, "This version of Searchkick requires Elasticsearch 5 or greater" + raise UnsupportedVersionError elsif e.message =~ /analyzer \[searchkick_.+\] not found/ raise InvalidQueryError, "Bad mapping - run #{reindex_command}" else -- libgit2 0.21.0