-
Improvement
-
Resolution: Fixed
-
Minor
-
3.5
-
MOODLE_35_STABLE
-
MOODLE_35_STABLE
-
MDL-60981-master -
In some cases it is necessary to reindex content from a specific search area. For example:
- If there was a bug in indexing code for a search area that has now been fixed (this could be a core search area or one in a contributed plugin), or an improvement made to that search area, existing content may need reindexing.
- If we make an addition to the schema (e.g. group support
MDL-58885), the search areas that implement that schema addition may need reindexing.
At present there is no UI to gradually reindex a single search area. You can delete the index, which does achieve this result (the scheduled task will gradually rebuild the index), but if the search area is a large one such as all forum posts, reindexing may take a long time (forum posts take some weeks to index in our system) and during that time, the search engine will not find any results in newer forum posts. This is a bad experience for users.
One option would be to simply reset the date on the search area so that it reindexes from the beginning, but without deleting the index. This would work but because of the date ordering it means that, until the reindex completes, no new content will be indexed. Given that searching might be most important for more recent confent, this could also be a bad experience for users.
We already have the feature to add a single context to a queue for reindexing. I think the best solution would be to provide a feature to automatically add all contexts relating to a particular search area. This means that 'normal' indexing (of new forum posts, for instance) will continue.
Within this solution we can either just add the system context which should reindex everything (oldest to newest) or, probably more helpfully, we could make it separately add the individual contexts e.g. so that the most recently updated forums get reindexed first, and those which haven't been touched in years are done later. This latter approach is more work but seems like it would be a more complete solution so I'll have a go.
While doing this, we should add UI to the search areas page to display information about this queue:
This also displays information from the existing use of that queue (when courses are restored).
We are also going to need to change the way queueing works so that the reindexing jobs (which may be long-lasting) are lower priority than the course-restore ones.
- has a QA test
-
MDLQA-9240 Global search with solr
- Open
-
MDLQA-15264 CLONE - Global search with solr
- Passed
-
MDLQA-15853 CLONE - Global search with solr
- Passed
-
MDLQA-16499 CLONE - Global search with solr
- Passed
-
MDLQA-17116 CLONE - Global search with solr
- Passed
-
MDLQA-17706 CLONE - Global search with solr
- Passed
-
MDLQA-18211 CLONE - Global search with solr
- Passed
-
MDLQA-18705 CLONE - Global search with solr
- Passed
-
MDLQA-19169 CLONE - Global search with solr
- Passed
- has been marked as being related by
-
MDL-58885 Global search: Add group support
- Closed
-
MDL-60953 core_search: UI to search by group
- Closed