1. A search system, comprising: a television-based client device; and a database coupled to the client device and searchable by the client device, the database to maintain: identities of programs of various media content providers and associated reviews, wherein each review includes a subjective depiction of one of the programs, the subjective depiction including descriptive information that exceeds a generic plot description of the program; and an index of the programs generated by an indexing service; and the indexing service configured to: identify keywords in the subjective depiction of a program; identify content identifiers in the subjective depiction based on a list of known content identifiers; filter the subjective depiction of the program to retain words that are the keywords and the content identifiers in the subjective depiction by object filtering to remove words that lack a relevance to the subjective depiction of the program; weight the keywords with a naive Bayesian algorithm; generate a hash table of the weighted keywords optimized to enable searching for other subjective depictions that share similar keywords; generate the index of the programs based on a combination of: the hash table of the weighted keywords; the content identifiers; and co-occurrence analysis; and position each program in the index of the programs such that each program is associated with one or more similar programs, the association between programs based on the keywords, the content identifiers, and the co-occurrence analysis, wherein the indexing service is further configured to generate the program index based on the content identifiers which are descriptive terms in the subjective depiction and based on the keywords in the subjective depiction and wherein the indexing service is further configured to generate the program index as a graph in which the distance between the program and an additional program is an indication of whether the program and the additional program are similar.