Commit a761fb2db740012f81a1744cce624ec97d814087

Authored by Andrew Kane
1 parent eec777fa

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 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 159 if Searchkick.env == "test"
167 160 settings[:number_of_shards] = 1
... ... @@ -287,8 +280,20 @@ module Searchkick
287 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 297 end
293 298 end
294 299  
... ...