class XapianDb::Repositories::Stemmer
The stemmer is a repository that manages stemmers for the supported languges @author Gernot Kogler
Public Class Methods
stemmer_for(iso_cd)
click to toggle source
Get or build the stemmer for a language @param [Symbol, String] iso_cd The iso code for the language (:en, :de …) @return [Xapian::Stem] The Stemmer
for this lanugage
# File lib/xapian_db/repositories/stemmer.rb 16 def stemmer_for(iso_cd) 17 @stemmers ||= {} 18 return nil if iso_cd.nil? 19 key = iso_cd.to_sym 20 21 # Do we already have a stemmer for this language? 22 return @stemmers[key] unless @stemmers[key].nil? 23 24 # Do we support this language? 25 unless (LANGUAGE_MAP.keys + [:none]).include?(key) 26 raise ArgumentError.new "Language #{iso_cd} is not supported by XapianDb (remember to use the language iso codes)" 27 end 28 29 # Let's build the stemmer 30 @stemmers[key] = Xapian::Stem.new(key.to_s) 31 end