General purpose dynamic text indexing library