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,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