Description
This PR includes a huge refactor of the search "frontend" code and provides a new way of defining options for the search page based on a SearchQueryProcessor and SearchOption classes which are somehow inspired by the way Django forms work.
This PR also includes refactoring of the search clustering feature which was never tested with the new UI. Once merged, the clustering feature will be available only for users with special permissions.
Deployment steps:
The clustering feature works as another async task for the celery workers, so these will need to be re-deployed (and the new clustering queue added to their deployment configuration file). Also static files will need to be rebuilt. Other than that it should be like a normal deployment :)
Issue(s) https://github.com/MTG/freesound/issues/1741
Description This PR includes a huge refactor of the search "frontend" code and provides a new way of defining options for the search page based on a
SearchQueryProcessor
andSearchOption
classes which are somehow inspired by the way Django forms work.This PR also includes refactoring of the search clustering feature which was never tested with the new UI. Once merged, the clustering feature will be available only for users with special permissions.
Deployment steps: The clustering feature works as another async task for the celery workers, so these will need to be re-deployed (and the new clustering queue added to their deployment configuration file). Also static files will need to be rebuilt. Other than that it should be like a normal deployment :)