### Subset calculation of list of integers

I'm currently implementing an algorithm where one particular step requires me to calculate subsets in the following way.

Imagine I have sets (possibly millions of them) of integers. Where each set could potentially contain around a 1000 elements:

```
Set1: [1, 3, 7]
Set2: [1, 5, 8, 10]
Set3: [1, 3, 11, 14, 15]
...,
Set1000000: [1, 7, 10, 19]
```

Imagine a particular input set:

```
InputSet: [1, 7]
```

I now want to quickly calculate to which this InputSet is a subset. In this particular case, it should return Set1 and Set1000000.

Now, brute-forcing it takes too much time. I could also parallelise via Map/Reduce, but I'm looking for a more intelligent solution. Also, to a certain extend, it should be memory-efficient. I already optimised the calculation by making use of BloomFilters to quickly eliminate sets to which the input set could never be a subset.

Any smart technique I'm missing out on?

Thanks