On 3/17/2011 5:02 PM, Jonathan Rochkind wrote:
&defType=lucene
&q=*:* AND NOT _query_:"{!dismax} foo bar baz"
Oops, forgot a part, for anyone reading this and wanting to use it as a
solution.
You can transform:
$defType=dismax
&q=-foo -bar -baz
To:
&defType=lucene
&q=*:* AND NOT _query_:"{!dismax mm=1}foo bar baz"
And have basically equivalent semantics to what you meant but which
dismax won't do. The mm=1 is important, left that out before.
Jonathan
I might be able to work with that in my situation. But it also seems
like something that dismax could take care of for you in such a
situation. It looks from the documentation like the newer (not in 1.4.1)
edismax does in at least some cases, where the pure negative query is
inside grouping/subquery parens, it's not clear to me if it does it in
general or not.
On 3/17/2011 4:45 PM, Markus Jelsma wrote:
Oh i see, i overlooked your first query. A query with one term that is negated
will yield zero results, it doesn't return all documents because nothing
matches. It's, if i remember correctly, the same as when you're looking for a
field that doesn't have a value: q=-field:[* TO *].
My fault for putting in the quotes in the email, I actually don't have
tests in my quotes, just tried again to make sure.
And I always get 0 results on a pure negative Solr 1.4.1 dismax query. I
think it does not actually work?
On 3/17/2011 3:52 PM, Markus Jelsma wrote:
Hi,
It works just as expected, but not in a phrase query. Get rid of your
quotes and you'll be fine.
Cheers,
Should 1.4.1 dismax query parser be able to handle pure negative queries
like:
&q="-foo"
&q="-foo -bar"
It kind of seems to me trying it out that it can NOT. Can anyone else
verify? The documentation I can find doesn't say one way or another.
Which is odd because the documentation for straight solr-lucene query
parser athttp://wiki.apache.org/solr/SolrQuerySyntax suggests that
straight solr-lucene query parser_can_ handle pure negative. That
seems odd that solr-lucene Q.P. can, but dismax can't? Maybe I'm
misinterpreting or misunderstanding my experimental results.