Text this: Multi-keyword partial matching algorithm based on text fragments