I believe your query is not matching regardless of that dangling empty
() clause. The dismax query parser adds in several SHOULD (meaning
effectively OR'd) clauses and I've seen (and reported even, I believe)
this empty clause appear also with no problem.
The default query operator is not taken into consideration with
dismax, only for the standard (Lucene) query parser.
Probably you're not matching because of the mm (minimum match)
parameter, which defaults to 100%. Try setting that to 0.
Erik
On Jul 29, 2008, at 6:36 AM, matt connolly wrote:
I'm having trouble setting up a dismax handler. I'm trying something
really
simple, like this:
<requestHandler name="test" class="solr.DisMaxRequestHandler" >
<lst name="defaults">
<str name="echoParams">explicit</str>
<float name="tie">0.1</float>
<str name="qf">title^1.5 tags^1.0 body^0.5</str>
<str name="fl">*,score</str>
</lst>
</requestHandler>
When I analyse a query, I get this (example) in the response:
<str name="parsedquery">
+DisjunctionMaxQuery((title:chair^1.5 | body:chair^0.5 |
tags:chair^0.5)~0.1) ()
</str>
What's with the "()", I'm guessing that matches nothing and that's why
there's no search results. Because there certainly is search results
that
match "chair" if I use the standard request handler.
My default query operator is "AND" which needs to be that way for
faceting
to work (at least I think so).
Matt
--
View this message in context:
http://www.nabble.com/dismax-and-empty-query-tp18709318p18709318.html
Sent from the Solr - User mailing list archive at Nabble.com.