Hello,

I am using solr 7.3.1 with ExtendedDismaxQParser.

I have a edgengrams field and a normal text field. When I mix those two in
the same query, ie *qf=edgefield wordfield* and use option *debugQuery=on*,
I see that the parsedQuery is different, ie all words should match the same
field.

ie parsedQuery =

"+DisjunctionMaxQuery((((wordfield:musee wordfield:maillol wordfield:61
Synonym(wordfield:r wordfield:ru wordfield:rue) wordfield:grenelle wordfield
:75007 wordfield:paris)~7)^1.1 | ((edgefield:musee edgefield:maillol
edgefield:61 edgefield:r edgefield:grenelle edgefield:75007 edgefield
:paris)~7)))"

When instead I use two edgefields with *qf=**edgefield1 **edgefield2*

parsedQuery =
+(DisjunctionMaxQuery(((edgefield1:musee)^1.1 | edgefield2:musee))
DisjunctionMaxQuery(((edgefield1:maillol)^1.1 | edgefield2:maillol))
DisjunctionMaxQuery(((edgefield1:61)^1.1 | edgefield2:61))
DisjunctionMaxQuery(((edgefield1:r)^1.1 | edgefield2:r))
DisjunctionMaxQuery(((edgefield1:grenelle)^1.1 | edgefield2:grenelle))
DisjunctionMaxQuery(((edgefield1:75007)^1.1 | edgefield2:75007))
DisjunctionMaxQuery(((edgefield1:paris)^1.1 | edgefield2:paris)))~7

In the second case, edismax allows matching words to be in two different
fields, but not in first case.

Is there a way to have the same behaviour, ie case two, in all cases?

best regards,
Elisabeth

Reply via email to