Commit a0d94a510d843ab6a7d054b58dc664832d6e9426
1 parent
02b15a8f
Exists in
master
and in
2 other branches
Dropped support for Elasticsearch 6
Showing
10 changed files
with
7 additions
and
86 deletions
Show diff stats
CHANGELOG.md
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | - Removed mapping of `id` to `_id` with `order` option | 7 | - Removed mapping of `id` to `_id` with `order` option |
8 | - Removed `wordnet` option | 8 | - Removed `wordnet` option |
9 | - Removed `elasticsearch` dependency | 9 | - Removed `elasticsearch` dependency |
10 | +- Dropped support for Elasticsearch 6 | ||
10 | - Dropped support for Ruby < 2.6 and Active Record < 5.2 | 11 | - Dropped support for Ruby < 2.6 and Active Record < 5.2 |
11 | - Dropped support for NoBrainer and Cequel | 12 | - Dropped support for NoBrainer and Cequel |
12 | - Dropped support for `faraday_middleware-aws-signers-v4` (use `faraday_middleware-aws-sigv4` instead) | 13 | - Dropped support for `faraday_middleware-aws-signers-v4` (use `faraday_middleware-aws-sigv4` instead) |
lib/searchkick.rb
@@ -123,14 +123,6 @@ module Searchkick | @@ -123,14 +123,6 @@ module Searchkick | ||
123 | Gem::Version.new(server_version.split("-")[0]) < Gem::Version.new(version.split("-")[0]) | 123 | Gem::Version.new(server_version.split("-")[0]) < Gem::Version.new(version.split("-")[0]) |
124 | end | 124 | end |
125 | 125 | ||
126 | - # memoize for performance | ||
127 | - def self.server_below7? | ||
128 | - unless defined?(@server_below7) | ||
129 | - @server_below7 = server_below?("7.0.0") | ||
130 | - end | ||
131 | - @server_below7 | ||
132 | - end | ||
133 | - | ||
134 | def self.search(term = "*", model: nil, **options, &block) | 126 | def self.search(term = "*", model: nil, **options, &block) |
135 | options = options.dup | 127 | options = options.dup |
136 | klass = model | 128 | klass = model |
lib/searchkick/index_options.rb
@@ -8,10 +8,6 @@ module Searchkick | @@ -8,10 +8,6 @@ module Searchkick | ||
8 | 8 | ||
9 | def index_options | 9 | def index_options |
10 | custom_mapping = options[:mappings] || {} | 10 | custom_mapping = options[:mappings] || {} |
11 | - if below70? && custom_mapping.keys.map(&:to_sym).include?(:properties) | ||
12 | - # add type | ||
13 | - custom_mapping = {index_type => custom_mapping} | ||
14 | - end | ||
15 | 11 | ||
16 | if options[:mappings] && !options[:merge_mappings] | 12 | if options[:mappings] && !options[:merge_mappings] |
17 | settings = options[:settings] || {} | 13 | settings = options[:settings] || {} |
@@ -167,12 +163,10 @@ module Searchkick | @@ -167,12 +163,10 @@ module Searchkick | ||
167 | settings[:similarity] = {default: {type: options[:similarity]}} | 163 | settings[:similarity] = {default: {type: options[:similarity]}} |
168 | end | 164 | end |
169 | 165 | ||
170 | - unless below62? | ||
171 | - settings[:index] = { | ||
172 | - max_ngram_diff: 49, | ||
173 | - max_shingle_diff: 4 | ||
174 | - } | ||
175 | - end | 166 | + settings[:index] = { |
167 | + max_ngram_diff: 49, | ||
168 | + max_shingle_diff: 4 | ||
169 | + } | ||
176 | 170 | ||
177 | if options[:case_sensitive] | 171 | if options[:case_sensitive] |
178 | settings[:analysis][:analyzer].each do |_, analyzer| | 172 | settings[:analysis][:analyzer].each do |_, analyzer| |
@@ -467,10 +461,6 @@ module Searchkick | @@ -467,10 +461,6 @@ module Searchkick | ||
467 | ] | 461 | ] |
468 | } | 462 | } |
469 | 463 | ||
470 | - if below70? | ||
471 | - mappings = {index_type => mappings} | ||
472 | - end | ||
473 | - | ||
474 | mappings | 464 | mappings |
475 | end | 465 | end |
476 | 466 | ||
@@ -558,14 +548,6 @@ module Searchkick | @@ -558,14 +548,6 @@ module Searchkick | ||
558 | :searchkick_index | 548 | :searchkick_index |
559 | end | 549 | end |
560 | 550 | ||
561 | - def below62? | ||
562 | - Searchkick.server_below?("6.2.0") | ||
563 | - end | ||
564 | - | ||
565 | - def below70? | ||
566 | - Searchkick.server_below?("7.0.0") | ||
567 | - end | ||
568 | - | ||
569 | def below73? | 551 | def below73? |
570 | Searchkick.server_below?("7.3.0") | 552 | Searchkick.server_below?("7.3.0") |
571 | end | 553 | end |
lib/searchkick/query.rb
@@ -384,11 +384,6 @@ module Searchkick | @@ -384,11 +384,6 @@ module Searchkick | ||
384 | 384 | ||
385 | if field.start_with?("*.") | 385 | if field.start_with?("*.") |
386 | q2 = qs.map { |q| {multi_match: q.merge(fields: [field], type: match_type == :match_phrase ? "phrase" : "best_fields")} } | 386 | q2 = qs.map { |q| {multi_match: q.merge(fields: [field], type: match_type == :match_phrase ? "phrase" : "best_fields")} } |
387 | - if below61? | ||
388 | - q2.each do |q| | ||
389 | - q[:multi_match].delete(:fuzzy_transpositions) | ||
390 | - end | ||
391 | - end | ||
392 | else | 387 | else |
393 | q2 = qs.map { |q| {match_type => {field => q}} } | 388 | q2 = qs.map { |q| {match_type => {field => q}} } |
394 | end | 389 | end |
@@ -1141,21 +1136,13 @@ module Searchkick | @@ -1141,21 +1136,13 @@ module Searchkick | ||
1141 | end | 1136 | end |
1142 | 1137 | ||
1143 | def track_total_hits? | 1138 | def track_total_hits? |
1144 | - (searchkick_options[:deep_paging] && !below70?) || body_options[:track_total_hits] | 1139 | + searchkick_options[:deep_paging] || body_options[:track_total_hits] |
1145 | end | 1140 | end |
1146 | 1141 | ||
1147 | def body_options | 1142 | def body_options |
1148 | options[:body_options] || {} | 1143 | options[:body_options] || {} |
1149 | end | 1144 | end |
1150 | 1145 | ||
1151 | - def below61? | ||
1152 | - Searchkick.server_below?("6.1.0") | ||
1153 | - end | ||
1154 | - | ||
1155 | - def below70? | ||
1156 | - Searchkick.server_below?("7.0.0") | ||
1157 | - end | ||
1158 | - | ||
1159 | def below73? | 1146 | def below73? |
1160 | Searchkick.server_below?("7.3.0") | 1147 | Searchkick.server_below?("7.3.0") |
1161 | end | 1148 | end |
lib/searchkick/record_data.rb
@@ -39,7 +39,6 @@ module Searchkick | @@ -39,7 +39,6 @@ module Searchkick | ||
39 | _index: index.name, | 39 | _index: index.name, |
40 | _id: search_id | 40 | _id: search_id |
41 | } | 41 | } |
42 | - data[:_type] = document_type if Searchkick.server_below7? | ||
43 | data[:routing] = record.search_routing if record.respond_to?(:search_routing) | 42 | data[:routing] = record.search_routing if record.respond_to?(:search_routing) |
44 | data | 43 | data |
45 | end | 44 | end |
test/geo_shape_test.rb
@@ -31,23 +31,6 @@ class GeoShapeTest < Minitest::Test | @@ -31,23 +31,6 @@ class GeoShapeTest < Minitest::Test | ||
31 | ] | 31 | ] |
32 | end | 32 | end |
33 | 33 | ||
34 | - def test_circle | ||
35 | - # https://github.com/elastic/elasticsearch/issues/39237 | ||
36 | - skip unless Searchkick.server_below?("6.6.0") | ||
37 | - | ||
38 | - assert_search "*", ["Region A"], { | ||
39 | - where: { | ||
40 | - territory: { | ||
41 | - geo_shape: { | ||
42 | - type: "circle", | ||
43 | - coordinates: {lat: 28.0, lon: 38.0}, | ||
44 | - radius: "444000m" | ||
45 | - } | ||
46 | - } | ||
47 | - } | ||
48 | - } | ||
49 | - end | ||
50 | - | ||
51 | def test_envelope | 34 | def test_envelope |
52 | assert_search "*", ["Region A"], { | 35 | assert_search "*", ["Region A"], { |
53 | where: { | 36 | where: { |
@@ -144,23 +127,6 @@ class GeoShapeTest < Minitest::Test | @@ -144,23 +127,6 @@ class GeoShapeTest < Minitest::Test | ||
144 | } | 127 | } |
145 | end | 128 | end |
146 | 129 | ||
147 | - def test_contains | ||
148 | - # CONTAINS query relation not supported | ||
149 | - skip unless Searchkick.server_below?("6.6.0") | ||
150 | - | ||
151 | - assert_search "*", ["Region C"], { | ||
152 | - where: { | ||
153 | - territory: { | ||
154 | - geo_shape: { | ||
155 | - type: "envelope", | ||
156 | - relation: "contains", | ||
157 | - coordinates: [[12, 13], [13, 12]] | ||
158 | - } | ||
159 | - } | ||
160 | - } | ||
161 | - } | ||
162 | - end | ||
163 | - | ||
164 | def test_latlon | 130 | def test_latlon |
165 | assert_search "*", ["Region A"], { | 131 | assert_search "*", ["Region A"], { |
166 | where: { | 132 | where: { |
test/index_test.rb
@@ -59,7 +59,6 @@ class IndexTest < Minitest::Test | @@ -59,7 +59,6 @@ class IndexTest < Minitest::Test | ||
59 | store_names ["Dollar Tree"], Store | 59 | store_names ["Dollar Tree"], Store |
60 | assert_equal ["Dollar Tree"], Store.search(body: {query: {match: {name: "dollar"}}}).map(&:name) | 60 | assert_equal ["Dollar Tree"], Store.search(body: {query: {match: {name: "dollar"}}}).map(&:name) |
61 | mapping = Store.search_index.mapping.values.first["mappings"] | 61 | mapping = Store.search_index.mapping.values.first["mappings"] |
62 | - mapping = mapping["store"] if Searchkick.server_below?("7.0.0") | ||
63 | assert_equal "text", mapping["properties"]["name"]["type"] | 62 | assert_equal "text", mapping["properties"]["name"]["type"] |
64 | end | 63 | end |
65 | 64 |
test/language_test.rb
@@ -79,7 +79,7 @@ class LanguageTest < Minitest::Test | @@ -79,7 +79,7 @@ class LanguageTest < Minitest::Test | ||
79 | end | 79 | end |
80 | 80 | ||
81 | def test_korean2 | 81 | def test_korean2 |
82 | - skip if Searchkick.server_below?("6.4.0") || ci? | 82 | + skip if ci? |
83 | 83 | ||
84 | # requires https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html | 84 | # requires https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html |
85 | with_options({language: "korean2"}) do | 85 | with_options({language: "korean2"}) do |
test/match_test.rb
@@ -34,8 +34,6 @@ class MatchTest < Minitest::Test | @@ -34,8 +34,6 @@ class MatchTest < Minitest::Test | ||
34 | end | 34 | end |
35 | 35 | ||
36 | def test_percent | 36 | def test_percent |
37 | - # Note: "2% Milk" doesn't get matched in ES below 5.1.1 | ||
38 | - # This could be a bug since it has an edit distance of 1 | ||
39 | store_names ["1% Milk", "Whole Milk"] | 37 | store_names ["1% Milk", "Whole Milk"] |
40 | assert_search "1%", ["1% Milk"] | 38 | assert_search "1%", ["1% Milk"] |
41 | end | 39 | end |
test/routing_test.rb
@@ -8,9 +8,6 @@ class RoutingTest < Minitest::Test | @@ -8,9 +8,6 @@ class RoutingTest < Minitest::Test | ||
8 | 8 | ||
9 | def test_mappings | 9 | def test_mappings |
10 | mappings = Store.searchkick_index.index_options[:mappings] | 10 | mappings = Store.searchkick_index.index_options[:mappings] |
11 | - if Searchkick.server_below?("7.0.0") | ||
12 | - mappings = mappings[:store] | ||
13 | - end | ||
14 | assert_equal mappings[:_routing], required: true | 11 | assert_equal mappings[:_routing], required: true |
15 | end | 12 | end |
16 | 13 |