code: function( terms ) {
      
      var key, document
      var result = Object.create( null )
      var self = this
      
      terms = ( terms + '' ).toLowerCase()
      terms = terms.split( /\W+/ )
      
      for( key in this.documents ) {
        
        document = this.documents[ key ]
        
        result[ key ] = terms.reduce(
          function ( value, term ) {
            return value + (
              ( document[ term ] || 0 ) * self.idf( term )
            )
          },
          0.0
        )
        
      }
      
      return result
      
    }
docs: [run description]
  @param  {String|Array} terms
  @return {Object}