1. A method of searching electronic program guide (EPG) data, comprising: receiving a text search string; normalizing the text search string, wherein the normalizing includes removing or converting symbols in the text search string to make searchable terms; separating the searchable terms into text terms and attribute terms; performing a search in the EPG data for each text term and each attribute term; and performing one of combining, ranking, and filtering results from the searches for display of programs conforming to the search string.