: This may seem to be an easy one but I have been struggling to get it : working. To simplify things, let's say I have a field that can contain any : combination of the 26 alphabetic letters, space delimited:
I suspect you may have "over simplified" your problem in a way that may make some specific solutions for your real use case non-obvious becaues of the way you've simplified it. the more you can tell us about your *real* use case, the more likeley people can give you *real* answers. That said... : 1. Any doc that contains exactly the 4 letters a b y z (sequence not : important) : 2. Any docs that contains only a subset of the 4 letters a b y z (sequence : not important) : : Note if a doc contains any letters other than the 4 letters a b y z will not : qualify. So in this case, only the first doc should be returned. ...since the number of values is finite (and small) i would index your data as a simple multivalued StrField (or TextField using a whitespace tokenizer) and then write your queries such that you deliberately exclude documents matching the inverse set of your input. ie: query = "a b y z" ... q = +(a b y z) -(c d e f g h i j k l m n o b q r s t u v w x) ...or leverage filter cache... q = a b y z & fq = -c & fq = -d & fq = -e & fq = -f & .... -Hoss