-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: Internal Code, Text Search
-
None
-
Query Execution
-
None
-
0
-
None
-
None
-
None
-
None
-
None
-
None
TextMatchableDocument is a MatchableDocument subclass created in the TextOrStage and used to perform covered matching on non-text fields of a compound text index.
Its existence in the TextOrStage makes the TextOrStage a lot more complex than it needs to be.
This logic should be moved to another stage (perhaps the FetchStage could be modified to support this, or a new TextFetchStage can be used instead of the normal FetchStage).
Removing the TextMatchableDocument from the TextOrStage allows for the following simplifications in the TextOrStage:
- Remove the parameters txn, filter, and index from the constructor
- Remove the kInit state, and the initStage method
- Remove the private members _filter, _txn, _idRetrying, _recordCursor, and _index
- Remove the handling of a MatchExpression filter
- Remove all WriteConflictException handling logic (_idRetrying)