SOLR-15611: Fix ignored phrase slop after nested query parsing
https://issues.apache.org/jira/browse/SOLR-15611
Description
Solr query parser is dropping phrase slops after any nested queries parsed in same query because subQParser not cleared after magic field processing.
Solution
Replace subQParser field by lastMagicField and check current field name in getFieldQuery(String field, String queryText, int slop).
Tests
_query_:"{!term f=text}foo" "foo bar"~1 and foo "foo bar"~1 should be parsed to same queries, a new test added to TestSolrQueryParser.
Checklist
Please review the following and check all that apply:
- [x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
- [x] I have created a Jira issue and added the issue ID to my pull request title.
- [x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
- [x] I have developed this patch against the
mainbranch. - [x] I have run
./gradlew check. - [x] I have added tests for my changes.
- [ ] I have added documentation for the Reference Guide
This PR had no visible activity in the past 60 days, labeling it as stale. Any new activity will remove the stale label. To attract more reviewers, please tag someone or notify the [email protected] mailing list. Thank you for your contribution!