Hi,
I need to boost documents at runtime according to a set of roles and
related ids. For instance I would have the fields:
ceo:1234-abcd-5678-poiu
tl:1111-abcd-5678-abc

and a set of boosts to apply a runtime, for instance
ceo = 10
tl = 5

I don't want to do any complex operation with the weights and I am happy of
boosting by the value of the most relevant role, in the previous case would
be ceo.
Since I use eDismax parser, the syntax I'd like to use would be:

*bf*=if(*termfreq*
(ceo,"85a09bd5-2ff2-464c-9bc5-33a38a7f1234"),3,if(termfreq(tl,"85a09bd5-2ff2-464c-9bc5-33a38a7123456"),2,1))


however I am worried about performance.
My questions are:
- In the bf parameter are FieldCache and DocValues used?
- Is termfreq calculated all the time or we simply read the existing value?
- increasing the number of clauses (for instance adding more nested if)
what kind of impact would have on my performance?
- My alternative would be to use the payload. Is that a better option and
why?

Thanks!!

Reply via email to