refactor searchRetrieve and getRecord(s) into Search\Engine