Currently we identify a candidate list and then apply any required scoping. It would require some changes in workflow but we could probably improve performance if we first restricted by scope and then filtered out the candidates.
- This potentially moves a lot of query filtering off of the database and into the API. That isn't necessarily a bad thing.
- We could default to the current behavior if there is no scope or the scope is the root stem.