24. A system for performing multiple keyword searches in a distributed network, comprising: a first computing device providing a first node, the first computing device including: a receiver, comprising hardware, configured to receive a query including a first keyword and a second keyword from a querying node; a first keyword set determination component configured to find a first set of a first number of documents that contain the first keyword; a Bloom filter calculation component configured to compute an optimal first Bloom filter length and corresponding first number of hash functions as a function of the first number of documents in the first set, to send a first Bloom filter of the first set to a second node in the distributed network, wherein the second node is identified based on a hashed second keyword, wherein the second node is responsible for finding a set of documents that contain the second keyword, and wherein the first Bloom filter comprises an array having the first Bloom filter length and the first number of hash functions; and a first multiple-keyword processing component, at the first node, configured to return documents consisting of the first set of documents to the querying node a second computing device providing the second node, the second computing device including: a second keyword set determination component, at the second node, configured to find a second set of a second number of documents that contain the second keyword; and a second multiple-keyword processing component, at the second node, configured to check a membership of each of the documents in the second set over the first Bloom filter to determine a third set of documents that contain the second keyword and are not already present in the first Bloom filter and return documents consisting of the third set of documents to the querying node.
25. The apparatus of claim 24 , wherein the query is an AND query.