-
Enhancement
-
Resolution: Unresolved
-
Major
-
None
When executing a query that uses indexes, ModeShape uses the index to retrieve the applicable node keys and then for each node applies each of the filtering criteria from the search.
For a FTS index, data extracted from a property using the getText() method is stored in the index. During the query criteria evaluation (i.e. during the result set iteration) the same method is called again for each node from the index (even though the simple fact that they are returned from the index means they match that criteria).
This enhancement can be formulated generically as "do not apply query filtering criteria if this criteria matches a particular index". However, because a query criteria can look like A and B and C and an index can only apply to A, B and C must be applied to the results from the index.