"mm":"2",
"q":"IBASEDESCRIPTION:(ankor sunnyvale tokyo^3 london labs)",
"defType":"dismax",
"fl":"score, IBASEDESCRIPTION",
"q.op":"AND",
"rows":"3",
"debug.explain.structured":"true",
"debugQuery":"on"
This is what I see in the response header.
mm=2 it means 2 optional clauses should match. q.op is AND - I assumed that conditions between the clauses are AND
I expect the following field not to match:
Level 3 Communications-london
akamai-level 3-london
But they are part of the results.
Could anyone help me to understand the behavior here?
I suspect it is because ^3
in the tokyo
field. But that's what the boosting factor.
mm=2
does not mean two optional clauses should match - it means that two clauses should match.q.op
does not take effect whenmm
is set.Why those specific entries are included is hard to say without seeing the analysis for the field and the actual value indexed (the debug query will include information about what terms are being hit for each field and how much it contributes to the score).
You should also use
qf
here instead of having the field name present when using the dismax handler.