SOLR-16953: Grouped fields are handled in edismax clauses #1893
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://issues.apache.org/jira/browse/SOLR-16953
Description
ExtendedDismaxParser
generates boosts queries from parameterpf
for unwanted terms when using grouped fields (queries similar tofield:(term1 term2 term3)
).term1
is skipped as expected, butterm2
andterm3
, are unexpectedly added in the generated boost query. This is because the field is not added toterm2
andterm3
in the output ofsplitIntoClauses()
method.Solution
In
splitIntoClauses()
, set the field to all clauses that are created when parsing terms with a grouped field.In the example, we set the field to
term1
,term2
andterm3
.Tests
Added two cases in
TestExtendedDismaxParser
to ensure generated clauses are correct and we return records in the correct order.Checklist
Please review the following and check all that apply:
main
branch../gradlew check
.