class Documentally::Corpus
Attributes
documents[R]
Public Class Methods
new(term_lists)
click to toggle source
# File lib/documentally/corpus.rb, line 4 def initialize(term_lists) all_terms = term_lists.map(&:last).inject(&:+) master_document = Documentally::Document.new('master', all_terms) @documents = term_lists.map { |name, term_list| Documentally::Document.new(name, term_list) } documents.each do |document| document.normalize!(master_document) end end
Public Instance Methods
search(query, take: 1)
click to toggle source
# File lib/documentally/corpus.rb, line 14 def search(query, take: 1) order_documents_by(query).take(take) end
Private Instance Methods
order_documents_by(query)
click to toggle source
# File lib/documentally/corpus.rb, line 20 def order_documents_by(query) documents.sort_by { |document| document.similarity(query) }.reverse end