How to speed up finding a subset of a given set? Is there a data indexing technique that speeds up finding subsets of a given set in a collection, or do I always have to scan all of the data?

For example, let's say that I have a collection of sets:
(a, b)
(b, c)
(a, b, c, d)
(a, b, c)
(b, c, d)
(b, e)
(d, e, f)
(d, f, g)
(d, e, f, g)

I want to find subsets of (a, b, c, d), so the output should be:
(a, b)
(b, c)
(a, b, c, d)
(a, b, c)
(b, c, d)

Is there a method to index/hash data in a way that will limit the number of collection elements that I have to scan in order to find all matches?
if you map every element in set in S into a bit in a binary number. For set with n elements, we have n bit binary number. the $i$-th number takes 1 if the subset has that element. Then we can use a binary number from $00,...,00$ to $11,...,11$  to represent all the subset.

If you map all your subset into binary numbers, then you are searching in the number space.