class ApproximateSearch

Public Class Methods

new( jarow_shikii ) click to toggle source
# File lib/sekka/approximatesearch.rb, line 38
def initialize( jarow_shikii )
  @jarow_shikii = jarow_shikii
end

Public Instance Methods

searchByUser( userid, kvs, keyword, type ) click to toggle source
# File lib/sekka/approximatesearch.rb, line 56
def searchByUser( userid, kvs, keyword, type )
  pair = case type
         when 'k' # okuri nashi kanji entry
           ["Ik:" + userid + ":", keyword.downcase]
         when 'r' # okuri nashi kanji (reverse) entry
           ["Ir:" + userid + ":", keyword.downcase]
         when 'K' # okuri ari   kanji entry
           ["IK:" + userid + ":", keyword]
         when 'h' # hiragana phrase entry
           ["Ih:" + userid + ":", keyword.downcase]
         else
           raise sprintf( "Error: ApproximateSearch#search unknown type %s ", type )
         end
  prefix   = pair[0]
  _keyword = pair[1]
  trie = DistributedTrie::Trie.new( kvs, prefix )
  trie.fuzzySearch( _keyword, @jarow_shikii )
end