[SERVER-14578] Text search term negation processing should use text index instead of fetching Created: 16/Jul/14 Updated: 22/Mar/23 |
|
| Status: | Open |
| Project: | Core Server |
| Component/s: | Querying, Text Search |
| Affects Version/s: | None |
| Fix Version/s: | features we're not sure of |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | J Rassi | Assignee: | Backlog - Query Integration |
| Resolution: | Unresolved | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Query Integration
|
||||||||||||
| Participants: | |||||||||||||
| Description |
|
The text stage currently implements the search "foo -bar" by querying the text index for "foo", fetching each document returned from the scan, using the text matcher to filter out documents containing "bar", and returning the resulting set. Performance of searches using term negation would be improved greatly if the fetch/matcher steps are eliminated. For "foo -bar", the text stage should query the text index for "foo", then query the text index for "bar", compute the set difference, and then return the resulting set. |