diff --git a/CHANGELOG.md b/CHANGELOG.md index f292b8a..d1b9f91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Removed mapping of `id` to `_id` with `order` option - Removed `wordnet` option - Removed `elasticsearch` dependency +- Dropped support for Elasticsearch 6 - Dropped support for Ruby < 2.6 and Active Record < 5.2 - Dropped support for NoBrainer and Cequel - Dropped support for `faraday_middleware-aws-signers-v4` (use `faraday_middleware-aws-sigv4` instead) diff --git a/lib/searchkick.rb b/lib/searchkick.rb index 681aa7c..b609f20 100644 --- a/lib/searchkick.rb +++ b/lib/searchkick.rb @@ -123,14 +123,6 @@ module Searchkick Gem::Version.new(server_version.split("-")[0]) < Gem::Version.new(version.split("-")[0]) end - # memoize for performance - def self.server_below7? - unless defined?(@server_below7) - @server_below7 = server_below?("7.0.0") - end - @server_below7 - end - def self.search(term = "*", model: nil, **options, &block) options = options.dup klass = model diff --git a/lib/searchkick/index_options.rb b/lib/searchkick/index_options.rb index 09a5670..6dca436 100644 --- a/lib/searchkick/index_options.rb +++ b/lib/searchkick/index_options.rb @@ -8,10 +8,6 @@ module Searchkick def index_options custom_mapping = options[:mappings] || {} - if below70? && custom_mapping.keys.map(&:to_sym).include?(:properties) - # add type - custom_mapping = {index_type => custom_mapping} - end if options[:mappings] && !options[:merge_mappings] settings = options[:settings] || {} @@ -167,12 +163,10 @@ module Searchkick settings[:similarity] = {default: {type: options[:similarity]}} end - unless below62? - settings[:index] = { - max_ngram_diff: 49, - max_shingle_diff: 4 - } - end + settings[:index] = { + max_ngram_diff: 49, + max_shingle_diff: 4 + } if options[:case_sensitive] settings[:analysis][:analyzer].each do |_, analyzer| @@ -467,10 +461,6 @@ module Searchkick ] } - if below70? - mappings = {index_type => mappings} - end - mappings end @@ -558,14 +548,6 @@ module Searchkick :searchkick_index end - def below62? - Searchkick.server_below?("6.2.0") - end - - def below70? - Searchkick.server_below?("7.0.0") - end - def below73? Searchkick.server_below?("7.3.0") end diff --git a/lib/searchkick/query.rb b/lib/searchkick/query.rb index 3c6ecfb..c14cf4c 100644 --- a/lib/searchkick/query.rb +++ b/lib/searchkick/query.rb @@ -384,11 +384,6 @@ module Searchkick if field.start_with?("*.") q2 = qs.map { |q| {multi_match: q.merge(fields: [field], type: match_type == :match_phrase ? "phrase" : "best_fields")} } - if below61? - q2.each do |q| - q[:multi_match].delete(:fuzzy_transpositions) - end - end else q2 = qs.map { |q| {match_type => {field => q}} } end @@ -1141,21 +1136,13 @@ module Searchkick end def track_total_hits? - (searchkick_options[:deep_paging] && !below70?) || body_options[:track_total_hits] + searchkick_options[:deep_paging] || body_options[:track_total_hits] end def body_options options[:body_options] || {} end - def below61? - Searchkick.server_below?("6.1.0") - end - - def below70? - Searchkick.server_below?("7.0.0") - end - def below73? Searchkick.server_below?("7.3.0") end diff --git a/lib/searchkick/record_data.rb b/lib/searchkick/record_data.rb index ead2bde..94dda16 100644 --- a/lib/searchkick/record_data.rb +++ b/lib/searchkick/record_data.rb @@ -39,7 +39,6 @@ module Searchkick _index: index.name, _id: search_id } - data[:_type] = document_type if Searchkick.server_below7? data[:routing] = record.search_routing if record.respond_to?(:search_routing) data end diff --git a/test/geo_shape_test.rb b/test/geo_shape_test.rb index f4be296..cc531bb 100644 --- a/test/geo_shape_test.rb +++ b/test/geo_shape_test.rb @@ -31,23 +31,6 @@ class GeoShapeTest < Minitest::Test ] end - def test_circle - # https://github.com/elastic/elasticsearch/issues/39237 - skip unless Searchkick.server_below?("6.6.0") - - assert_search "*", ["Region A"], { - where: { - territory: { - geo_shape: { - type: "circle", - coordinates: {lat: 28.0, lon: 38.0}, - radius: "444000m" - } - } - } - } - end - def test_envelope assert_search "*", ["Region A"], { where: { @@ -144,23 +127,6 @@ class GeoShapeTest < Minitest::Test } end - def test_contains - # CONTAINS query relation not supported - skip unless Searchkick.server_below?("6.6.0") - - assert_search "*", ["Region C"], { - where: { - territory: { - geo_shape: { - type: "envelope", - relation: "contains", - coordinates: [[12, 13], [13, 12]] - } - } - } - } - end - def test_latlon assert_search "*", ["Region A"], { where: { diff --git a/test/index_test.rb b/test/index_test.rb index e1e40a6..7962a7f 100644 --- a/test/index_test.rb +++ b/test/index_test.rb @@ -59,7 +59,6 @@ class IndexTest < Minitest::Test store_names ["Dollar Tree"], Store assert_equal ["Dollar Tree"], Store.search(body: {query: {match: {name: "dollar"}}}).map(&:name) mapping = Store.search_index.mapping.values.first["mappings"] - mapping = mapping["store"] if Searchkick.server_below?("7.0.0") assert_equal "text", mapping["properties"]["name"]["type"] end diff --git a/test/language_test.rb b/test/language_test.rb index 04f39f1..211a966 100644 --- a/test/language_test.rb +++ b/test/language_test.rb @@ -79,7 +79,7 @@ class LanguageTest < Minitest::Test end def test_korean2 - skip if Searchkick.server_below?("6.4.0") || ci? + skip if ci? # requires https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html with_options({language: "korean2"}) do diff --git a/test/match_test.rb b/test/match_test.rb index f3baa01..dc977b3 100644 --- a/test/match_test.rb +++ b/test/match_test.rb @@ -34,8 +34,6 @@ class MatchTest < Minitest::Test end def test_percent - # Note: "2% Milk" doesn't get matched in ES below 5.1.1 - # This could be a bug since it has an edit distance of 1 store_names ["1% Milk", "Whole Milk"] assert_search "1%", ["1% Milk"] end diff --git a/test/routing_test.rb b/test/routing_test.rb index 9484165..49faba5 100644 --- a/test/routing_test.rb +++ b/test/routing_test.rb @@ -8,9 +8,6 @@ class RoutingTest < Minitest::Test def test_mappings mappings = Store.searchkick_index.index_options[:mappings] - if Searchkick.server_below?("7.0.0") - mappings = mappings[:store] - end assert_equal mappings[:_routing], required: true end -- libgit2 0.21.0