Method: Sastrawi::Stemmer::CachedStemmer#stem

Defined in:
lib/sastrawi/stemmer/cached_stemmer.rb

#stem(text) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sastrawi/stemmer/cached_stemmer.rb', line 13

def stem(text)
  normalized_text = Sastrawi::Stemmer::Filter::TextNormalizer.normalize_text(text)

  words = normalized_text.split(' ')
  stems = []

  words.each do |word|
    if @cache.has?(word)
      stems.push(@cache.get(word))
    else
      stem = @delegated_stemmer.stem(word)
      @cache.set(word, stem)
      stems.push(stem)
    end
  end

  stems.join(' ')
end