1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: determining a length of a received input string; generating a count representation of the received input string; applying a first filtering process to a data set to be searched, the first filtering process comprising partitioning a binary tree for a field of the data set into a section S1, a section S2, and a section S3, the section S1 comprising entries in the binary tree that have keys longer than the length of the received input string, the section S2 comprising entries in the binary tree that have keys equal to the length of the received input string and contents that are greater than or equal to the received input string, and the section S3 comprising other entries in the binary tree, the other entries comprising those entries in the binary tree that are not in section S1 or in section S2, the first filtering process further comprising excluding the section S3 and performing an exact search for input string on the section S2; applying a second filtering process to the section S1 of the data set, the second filtering process comprising excluding entries in the section S1, the excluded entries in the section S1 having an entry count representation that is not consistent with the count representation of the input string; executing a substring search algorithm on a remaining subset of the data set, the remaining subset comprising non-excluded data records of the section S1; and returning a search result set based on results of executing the substring search algorithm on the remaining subset of the section S1 and the exact search on the section S2.