I have a collection of entities that contain a string field. I'm looking for a way to query the collection with a combined number of values, and get all entities that contain all of these values, with these specifications:
- contain ALL provided query values, not just some of them
- case-insensitive
- regardless of order
- 'word' query values can be part of something bigger (for example separated by _ or any other character)
So as an example, if I provide these words as the query values:
i am spiderman
(I can separate them by whitespace, give an array, or whatever works..)
I expect these results:
 - "i am_spiderMan"                     // should match
 - "AM i spiderman?!"                   // should match
 - "who am I? supermanspiderman"        // should match
 - "I am superman"                      // should not match
 - "i am spider_man"                    // should not match
I hope this covers all the cases I tried to describe. I tried regex, and also did some research with similar questions but could not get it to work.
 
    