DesignSpace/SearchDesign
From AigaionWiki
By all means, join in sketching a design, or at least a list of features and requirements, for the search functionality.
Features and requirements for Advanced Search
- A search query specification should be implemented as a class that can be serialized. This allows us to save queries in the database for re-use.
- The latest query results for a user (or the latest 2, or 3...) should be stored in the database. This way, we can sort, export, and paginate search results without haveing to re-run the search every time. tables: queries(user_id, query_id, query_spec), en query_results(query_id, result_type, result_id).
Generality
- Allow conditions to be specified simultaneously on all data: fields, types, topics, (bookmarked/read) status, attachment, entry date, etc. Matching publications satisfy all the conditions.
- Allow each condition to be a range (e.g. of dates) or set (e.g. of types or topics), including 'none' and 'all'.
- ...