1. A system comprising: a peer network node; a provided peer-to-peer network connected to the peer network node and configured to interoperate with the peer network node; and wherein the peer network node includes logic for executing software to: parse a document into separate keywords in a search term list; rank order the keywords within the search term list; for each of the rank-ordered keywords in the search term list: (i) create a list of addresses referring to one or more web pages that include at least one instance of the rank ordered keyword; (ii) rank order the list of addresses by relevance; and (iii) reduce the list of addresses to k-most relevant addresses, where k is a predetermined number; create a set of query index terms from the search term list, the set of index query terms comprising at least one of a keyword from the search term list and a combination of keywords from the search term list; remove from the set of query index terms at least one combination of keywords that represents a shorter keyword combination; and for each of the remaining query index terms in the set: (i) identify the query index term as a primary query index term; determine a unique node identifier corresponding to a hosting node in the peer network, the hosting node configured to: store an inverted index entry including the primary query index term and identifiers corresponding to the k-most relevant addresses for that query index term; and store a string in a Bloom filter data structure stored on the hosting node; (ii) identify one or more secondary query index terms; (iii) store the primary query index term and identifiers corresponding to the k-most relevant addresses for that query index term in the inverted index of the hosting node; and (iv) store the one or more secondary query index terms and their respectively associated k-most relevant addresses in the Bloom filter data structure.