1. A processor-implemented method of providing an inverted index to enable searching of records, the method comprising: processing the records to identify features for indexing in the inverted index; generating a plurality of posting lists from the records, wherein each of the plurality of posting lists corresponds to at least one of the identified features; maintaining, in a storage cache, a tail block of at least one of the plurality of posting lists to minimize random Input/Output to the inverted index; creating a merged posting list by moving posting lists smaller than one cache block into a combined posting list for reducing the size of the inverted index with a reduction in the plurality of posting lists; storing the plurality of posting lists in a write-once-read-many (WORM) storage; storing tail blocks removed from the storage cache into one of the plurality of posting lists in the WORM storage; maintaining an encoding of the identified features for the inverted index and a record identifier in each entry of the merged posting list; determining a desired number of the plurality of posting lists based on a desired level of any of an insertion performance, a query performance, and a size of the storage cache; receiving a query that includes a search feature; ranking records in the plurality of posting lists for answering the query to the plurality of posting lists; reading a posting list corresponding to the search feature in the query, in order to identify records that include the search feature; and displaying the plurality of posting lists on a display device.