[SERVER-26833] Permit non-blocking $text queries when user doesn't request score projection Created: 28/Oct/16 Updated: 30/Apr/20 Resolved: 20/Oct/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 3.6.0-rc1 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Chris Harris | Assignee: | Justin Seyster |
| Resolution: | Done | Votes: | 8 |
| Labels: | neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Sprint: | Query 2017-09-11, Query 2017-10-02, Query 2017-10-23 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||||||
| Description |
|
The score calculation is currently always performed for a `$text` query. This is a blocking operation that delays the initial batch from being returned to the client. If this meta data is not requested by the client then we can optimize query execution by bypassing this calculation. |
| Comments |
| Comment by Githook User [ 19/Oct/17 ] |
|
Author: {'email': 'justin.seyster@mongodb.com', 'name': 'Justin Seyster', 'username': 'jseyster'}Message: With this change, text queries use the non-blocking OR stage in place We also removed the unnecessary MatchableTextDocument object with this However, the OR stage uses an IndexMatchableDocument which does almost |
| Comment by Michael Dikman [ 16/Dec/16 ] |
|
Any update on ETA for this one? |
| Comment by J Rassi [ 28/Oct/16 ] |
|
This will involve changing TextStage::buildTextTree() to construct an OrStage instead of a TextOrStage, if the user didn't request a score in the projection. |