http://wiki.apache.org/solr/SchemaXml#Default_query_parser_operator ? once again, debugQuery=true perfectly explains what's going on with q.
On Sun, Sep 28, 2014 at 1:24 AM, White, Bill <bwh...@ptfs.com> wrote: > It worked for me once I changed to > > -color:({* TO red} OR {red TO *}) > > I'm not sure why the OR is needed, maybe it's my version? (4.6.1) > > On Sat, Sep 27, 2014 at 5:22 PM, Mikhail Khludnev < > mkhlud...@griddynamics.com> wrote: > > > hm. try to convert it to query q=-color:({* TO red} {red TO *}) and check > > the explanation from debugQuery=true > > > > I tried to play with my index > > > > "q": "*:*", > > "facet.field": "swatchColors_string_mv", > > "fq": "-swatchColors_string_mv:({* TO RED} {RED TO *})", > > > > I got the following facets: > > > > "facet_fields": { > > "swatchColors_string_mv": [ > > "RED", > > 122, > > "BLACK", > > 0, > > "BLUE", > > 0, > > "BROWN", > > 0, > > "GREEN", > > 0, > > > > so, it works for me at least... > > > > > > > > On Sun, Sep 28, 2014 at 12:54 AM, White, Bill <bwh...@ptfs.com> wrote: > > > > > Hmm. If I understand correctly this builds a set out of open intervals > > > (exclusive ranges), that's a great idea! > > > > > > It doesn't seem to work for me, though; fq=-color:({* TO red} {red TO > > *}) > > > is giving me results with color="burnt sienna" > > > > > > The field is defined as <field name="color" type="string" > indexed="true" > > > stored="true" multiValued="true" /> > > > > > > On Sat, Sep 27, 2014 at 4:43 PM, Mikhail Khludnev < > > > mkhlud...@griddynamics.com> wrote: > > > > > > > indeed! > > > > the exclusive range {green TO red} matches to the "lemon yellow" > > > > hence, the negation suppresses it from appearing > > > > fq=-color:{green TO red} > > > > then you need to suppress eg black and white also > > > > fq=-color:({* TO green} {green TO red} {red TO *}) > > > > > > > > I have no control over the > > > > > possible values of 'color', > > > > > > > > You don't need to control possible values, you just suppressing any > > > values > > > > beside of the given green and red. > > > > Mind that either green or red passes that negation of exclusive > ranges > > > > disjunction. > > > > > > > > > > > > On Sun, Sep 28, 2014 at 12:15 AM, White, Bill <bwh...@ptfs.com> > wrote: > > > > > > > > > OK, let me try phrasing it better. > > > > > > > > > > How do I exclude from search, any result which contains any value > for > > > > > multivalued field 'color' which is not within a given "constraint > > set" > > > > > (e.g., "red", "green", "yellow", "burnt sienna"), given that I do > not > > > > what > > > > > any of the other possible values of 'color' are? > > > > > > > > > > In pseudocode: > > > > > > > > > > for all x in result.color > > > > > if x not in ("red","green","yellow", "burnt sienna") > > > > > filter out result > > > > > > > > > > I don't see how range queries would work since I have no control > over > > > the > > > > > possible values of 'color', e.g., there could be a valid color > "lemon > > > > > yellow" between "green" and "red", and I don't want a result which > > has > > > > > (color: red, color: "lemon yellow") > > > > > > > > > > On Sat, Sep 27, 2014 at 4:02 PM, Mikhail Khludnev < > > > > > mkhlud...@griddynamics.com> wrote: > > > > > > > > > > > On Sat, Sep 27, 2014 at 11:36 PM, White, Bill <bwh...@ptfs.com> > > > wrote: > > > > > > > > > > > > > but do NOT match ANY other color. > > > > > > > > > > > > > > > > > > Bill, I miss the whole picture, it's worth to rephrase the > problem > > in > > > > one > > > > > > sentence. > > > > > > But regarding the quote above, you can try to use exclusive > ranges > > > > > > > > > > > > > > > > > > > > > > > > > > > https://lucene.apache.org/core/4_6_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#Range_Searches > > > > > > fq=-color:({* TO green} {green TO red} {red TO *}) > > > > > > just don't forget to build ranges alphabetically > > > > > > > > > > > > -- > > > > > > Sincerely yours > > > > > > Mikhail Khludnev > > > > > > Principal Engineer, > > > > > > Grid Dynamics > > > > > > > > > > > > <http://www.griddynamics.com> > > > > > > <mkhlud...@griddynamics.com> > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Sincerely yours > > > > Mikhail Khludnev > > > > Principal Engineer, > > > > Grid Dynamics > > > > > > > > <http://www.griddynamics.com> > > > > <mkhlud...@griddynamics.com> > > > > > > > > > > > > > > > -- > > Sincerely yours > > Mikhail Khludnev > > Principal Engineer, > > Grid Dynamics > > > > <http://www.griddynamics.com> > > <mkhlud...@griddynamics.com> > > > -- Sincerely yours Mikhail Khludnev Principal Engineer, Grid Dynamics <http://www.griddynamics.com> <mkhlud...@griddynamics.com>