module Spinel::Helper
Public Instance Methods
document_id(doc)
click to toggle source
# File lib/spinel/helper.rb, line 20 def document_id doc doc[:id] || doc["id"] end
document_index_fields(doc)
click to toggle source
# File lib/spinel/helper.rb, line 28 def document_index_fields doc Spinel.index_fields.map {|field| doc[field.to_s.to_sym] || doc[field.to_s] || doc[field] }.compact.join(' ') end
document_score(doc)
click to toggle source
# File lib/spinel/helper.rb, line 24 def document_score doc (doc[:score] || doc["score"]).to_f end
get_valid_document(doc)
click to toggle source
# File lib/spinel/helper.rb, line 14 def get_valid_document doc id = document_id doc raise ArgumentError, "documents must specify id" unless id [id, document_index_fields(doc), document_score(doc)] end
prefixes(str)
click to toggle source
# File lib/spinel/helper.rb, line 4 def prefixes str squish(str).split.flat_map do |w| (Spinel.minimal_word-1..(w.length-1)).map{ |l| w[0..l] } end.uniq end
squish(str)
click to toggle source
# File lib/spinel/helper.rb, line 10 def squish str str.to_s.gsub(/[[:space:]]+/, ' ').strip end