1. A computer-implemented method of using previously acquired search results to perform a new search using a computer, the method comprising: accessing a database of search terms and user selection clicks on retrieved documents; calculating a matrix X, wherein matrix X is defined as a matrix having rows corresponding to rows of the database and columns corresponding to search terms in the database row; calculating a vector Y, wherein Y is defined as a representation of a document chosen by a user corresponding to a row of the database; calculating B vector values using the X matrix, the Y vector, and an iteratively reweighted least squares (IRLS) method, where the IRLS method executes in a time proportional to a time complexity function of O(d*k*k+i max *a 2 ), where k is the average number of nonzero elements per row in X, d is the number of data point rows in X, a is the number of columns in X and i max is a constant; storing the B vectors; receiving a new set of search terms and generating a corresponding search vector z; calculating the dot product of B and z to produce weighted scalar values of relevant documents in the database; and ordering the relevant documents in the database using the weighted scalar values; and displaying, on a computer monitor, an ordered list of the relevant documents corresponding to the new set of search terms.