A flexible, partial, out-of-order and real-time typeahead search library