We are seeing an edge case where a search term entered in Moodle returns no results to the user. However there are plenty of results being returned by the Elasticsearch backend.
This looks to be an issue with the compile_results method in the engine class. It is still to be 100% confirmed but the root cause seems to be:
User searches for a term
Results from the Elasticsearch backend are limited to 100 total results.
100 Results are returned from the Elasticsearch backend
The user has access to the context the results are in, but not the results themselves (This is the case for messages between users).
compile_results filters out the results that the user doesn't have access to. In this case all of the results are filtered.
No results are displayed to the end user.
The next steps:
Confirm the above is correct
Find out why the context filtering is allowing results to be returned that the user doesn't have access to. This might mean that user messages are a special case.
We are seeing an edge case where a search term entered in Moodle returns no results to the user. However there are plenty of results being returned by the Elasticsearch backend.
This looks to be an issue with the compile_results method in the engine class. It is still to be 100% confirmed but the root cause seems to be:
The next steps: