1. A machine-implemented method providing an inverted index of a dataset, comprising: identifying a 1:1 value to be represented in the inverted index, the 1:1 value being a value that appears once in the dataset; determining an identifier of the location in the dataset at which the 1:1 value appears; identifying a 1:n value to be represented in the inverted index, the 1:n value being a value which appears a plurality of times in the dataset; determining a pointer to a list of locations where the 1:n value appears in the dataset; forming a position vector comprising fields corresponding to values to be represented in the inverted index, the forming comprising storing the determined identifier of the location for the 1:1 value in the field corresponding to the 1:1 value, and storing the pointer for the 1:n value in the field corresponding to the 1:n value; and storing the position vector and the list of locations on a tangible non-transitory machine readable storage medium.