a bloom filter for each self-integral tree holds the
keywords for that self-integral tree. The filter is then
used to test whether a self-integral tree contains all the
keywords in a keyword query. There may be many
candidate self-integral trees but only a few contain all
the keywords. Therefore, an optimization algorithm is
used to improve the retrieval of the meaningful
self-integral subtrees. Record the number of the
self-integral trees that contain each term to get the
minimum IDList for a keyword query having the
smallest size. Then retrieve the bloom filters for the
self-integral trees in the minimum IDList to test
whether each candidate self-integral tree contains all
the keywords. If so, this subtree is then a search result.
Finally, generate all the meaningful self-integral sub-
trees by filtering out false positives (if any).