22. One or more non-transitory computer-readable storage media embodying software for execution by one or more computer systems and being operable when executed to: construct a plurality of first binary decision diagrams (BDDs), each of the first BDDs representing a different one of a plurality of words, each of the words having a unique word identifier (ID), each first BDD being constructed based on the word ID of the word represented by the first BDD; construct a plurality of second BDDs, each of the second BDDs representing a different one of a plurality of search queries, each of the search queries comprising one or more of the words, each second BDD being constructed by performing an AND operation on the first BDDs representing the words in the search query represented by the second BDD, wherein the plurality of search queries comprise a plurality of cached searched queries that have been previously submitted to a search engine; construct a plurality of third BDDs, each of the third BDDs representing a different one of a plurality of web pages, each of the web pages having a unique page ID, each of the third BDDs being constructed based on the page ID of the web page represented by the third BDD; construct a plurality of fourth BDDs, each of the fourth BDDs representing a different one of a plurality of search results generated in response to the search queries, each of the search results comprising one or more of the web pages, each fourth BDD being constructed by performing an OR operation on the third BDDs representing the web pages in the search result represented by the fourth BDD; construct a plurality of fifth BDDs, each of the fifth BDDs representing a different one of a plurality of search tuples, each of the search tuples comprising a different one of the search queries and a different one of the search results corresponding to the search query, each fifth BDD being constructed by performing an AND operation on the second BDD representing the search query and the fourth BDD representing the search result that the search tuple represented by the fifth BDD; and constructing a sixth BDD by performing an OR operation on the fifth BDDs, the sixth BDD representing the search queries and the search results.
22. One or more non-transitory computer-readable storage media embodying software for execution by one or more computer systems and being operable when executed to: construct a plurality of first binary decision diagrams (BDDs), each of the first BDDs representing a different one of a plurality of words, each of the words having a unique word identifier (ID), each first BDD being constructed based on the word ID of the word represented by the first BDD; construct a plurality of second BDDs, each of the second BDDs representing a different one of a plurality of search queries, each of the search queries comprising one or more of the words, each second BDD being constructed by performing an AND operation on the first BDDs representing the words in the search query represented by the second BDD, wherein the plurality of search queries comprise a plurality of cached searched queries that have been previously submitted to a search engine; construct a plurality of third BDDs, each of the third BDDs representing a different one of a plurality of web pages, each of the web pages having a unique page ID, each of the third BDDs being constructed based on the page ID of the web page represented by the third BDD; construct a plurality of fourth BDDs, each of the fourth BDDs representing a different one of a plurality of search results generated in response to the search queries, each of the search results comprising one or more of the web pages, each fourth BDD being constructed by performing an OR operation on the third BDDs representing the web pages in the search result represented by the fourth BDD; construct a plurality of fifth BDDs, each of the fifth BDDs representing a different one of a plurality of search tuples, each of the search tuples comprising a different one of the search queries and a different one of the search results corresponding to the search query, each fifth BDD being constructed by performing an AND operation on the second BDD representing the search query and the fourth BDD representing the search result that the search tuple represented by the fifth BDD; and constructing a sixth BDD by performing an OR operation on the fifth BDDs, the sixth BDD representing the search queries and the search results. 25. The media of claim 22 , wherein to construct one of the first BDDs comprises: represent the word ID of the word represented by the first BDD in binary format; represent a plurality of binary digits in the word ID with a plurality of variables, each variable representing a different one of the binary digits; and construct the first BDD with the variables as a plurality of decision nodes.