You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Juan Antonio Farré Basurte <jf...@gmail.com> on 2011/05/08 21:13:49 UTC

Highlighting does not work when using !boost as a nested query

Hi,

I need to boost newer documents in my dismax queries.
As I've been able to read in the wiki, it's best to use a multiplicative
boost. The only way I know to do this with the dismax (not edismax)
query parser is via a {!boost b=$dateboost v=$qq defType=dismax} query.
To make things more complicated, I also need to add some filters to the
query (by date range, by field value...) that don't fit as filters, as
they have a huge number of possible unique values.
Hence, I added them to the main query in a form such:

q=+field1:range +field2:value +_query_:{!boost b=$dateboost v=$qq
defType=dismax}

And then I add hl=true as a top-level parameter.
The result is that the response includes some empty values in the
highlighting list and nothing else:

<lst name="highlighting">
<lst/>
<lst/>
<lst/>
<lst/>
<lst/>
<lst/>
<lst/>
<lst/>
<lst/>
<lst/>
</lst>

Using just q={!boost b=$dateboost v=$qq defType=dismax} works well.
Using something like:

q=+field1:range +field2:value +_query_:{!dismax v=$qq}

also works.

But when I try to use dismax inside boost inside a nested query,
highlighting stops working.

Am I doing anyhing wrong? Do you know any workaround? Should I post a
bug anywhere?
Is there another way of specifying a multiplicative boost (without using
edismax)?

Thanks,

Juan