Commit a761fb2db740012f81a1744cce624ec97d814087
1 parent
eec777fa
Exists in
master
and in
8 other branches
Update stemming method
Showing
1 changed file
with
16 additions
and
11 deletions
Show diff stats
lib/searchkick/index_options.rb
@@ -153,15 +153,8 @@ module Searchkick | @@ -153,15 +153,8 @@ module Searchkick | ||
153 | } | 153 | } |
154 | } | 154 | } |
155 | 155 | ||
156 | - stem = options[:stem] | ||
157 | - stem = false if update_language(settings, language) | ||
158 | - | ||
159 | - if stem == false | ||
160 | - settings[:analysis][:filter].delete(:searchkick_stemmer) | ||
161 | - settings[:analysis][:analyzer].each do |_, analyzer| | ||
162 | - analyzer[:filter].delete("searchkick_stemmer") if analyzer[:filter] | ||
163 | - end | ||
164 | - end | 156 | + update_language(settings, language) |
157 | + update_stemming(settings) | ||
165 | 158 | ||
166 | if Searchkick.env == "test" | 159 | if Searchkick.env == "test" |
167 | settings[:number_of_shards] = 1 | 160 | settings[:number_of_shards] = 1 |
@@ -287,8 +280,20 @@ module Searchkick | @@ -287,8 +280,20 @@ module Searchkick | ||
287 | type: language | 280 | type: language |
288 | } | 281 | } |
289 | ) | 282 | ) |
290 | - else | ||
291 | - false # not updated | 283 | + end |
284 | + end | ||
285 | + | ||
286 | + def update_stemming(settings) | ||
287 | + stem = options[:stem] | ||
288 | + | ||
289 | + # language analyzer used | ||
290 | + stem = false if settings[:analysis][:analyzer][default_analyzer][:type] != "custom" | ||
291 | + | ||
292 | + if stem == false | ||
293 | + settings[:analysis][:filter].delete(:searchkick_stemmer) | ||
294 | + settings[:analysis][:analyzer].each do |_, analyzer| | ||
295 | + analyzer[:filter].delete("searchkick_stemmer") if analyzer[:filter] | ||
296 | + end | ||
292 | end | 297 | end |
293 | end | 298 | end |
294 | 299 |