1. A method for creating a search tree for data mining with constant search time, said method comprising the steps of: a) generating a set of isotropic random lines and store said lines in a line pool, b) projecting all the data signatures onto a projection line from said pool, c) building a tree node storing information characterizing said line, d) segment said line into two or more line partitions, e) segment further said two or more line partitions, f) repeat steps b-e for each partition until a stop value is reached, g) project data signatures of current partition to a line, h) sort said data signatures, i) store said data signatures wherein said projection line which has the largest projection variance is selected, and by repeating the process of projecting and partitioning, data is eventually separated into small partitions, which can be easily fetched from the data store with a single data read operation, and wherein said projected data signatures are only sorted when they are written to data file.