I am breaking my head over an efficient implementation of Bloom filter for a social app ala Tinder to prevent repeating fetch of the same profiles obver and over again.
I am having User collection, where each user would have his document with a bloom filter. This document can see only the user himself, not the others.
Than there would be other collection of Profiles, where would the query look for. And each profile document would have two fields as a filter “seed” values - for example “472”.
Then the user would trigger a query that would look for all profiles where the bloom fitler has an existing key in the user’s “User” document under the “seed” - for example array.
Unfortunatelly this kind of query cant use indexes I believe and also the bloom filter array has to be quite large to be efficient.
And more advanced thouhgts… is I would store a date/timestamp instead of true in the Bloom filter, I would be able to clear any extremely old values (after one year). But I am not sure, if MongoDB can take such array of dates and still not explode in size…
Has anyone a practical example/experience of implementin a Bloom filter of let say 10000bits with k=2?