1. A method implemented in a processor for creating a nearest vector 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 data signatures onto a 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 from step d), f) repeat steps b-e using a line partition from step (e) as the line in step (b) until a stop value is reached, said stop value being reached when the number of data signatures in a sub-partition reaches a specified lower limit which is less than or equal to one access in the data store, g) project a subset data signatures from step (e) of partition to a line, h) sort said data signatures, store said data signatures consecutively in a data storage, wherein a best line is selected, said projection line having the largest projection variance, and by repeating the process of projecting and partitioning, data is eventually separated into small partitions, requiring only one data store access per query data signature.