: If the query stars with a negative clause Lucene returns nothing. that's not true. If a "Query" in lucene is a BooleanQuery that only contains negative clauses, then Lucene returns nothing (because nothing is positively selected) ... but it if there is a mix of negative lcauses and positive clauses doesn't matter what order the clauses are in.
in *solr* there is code that attempts to detect a query containing purely negative clauses and it adds a "MatchAllDocs" query in that case -- but it only works at the top level of a query. nested queries like this... +fieldA:foo +(-fieldB:bar -fieldC:baz) ...won't work as you expect, because that nested query is only negative clauses. you can add your own MatchAllDocs query explicitly using the *:* syntax.... +fieldA:foo +(*:* -fieldB:bar -fieldC:baz) : endDate[NOW TO *] OR -endDate:[* TO *] side note: you really, REALLY don't wnat to mix the "+/-" syntax with "ANT/OR/NOT" .. it almost never works out the way you expect... : >can I search for a date, which is either in the future OR missing : >completely (meaning open ended) : > : >I've tried -endDate:[* TO *] OR endDate[NOW TO *] but that doesn't work. unless you've set the default op to "AND" this should work... fq = endDate:[NOW TO *] (*:* -endDate:[* TO *]) -Hoss