Fermain / -mollify

10 stars 9 forks source link

Feature: LMS Search #26

Closed Fermain closed 1 year ago

Fermain commented 1 year ago

LMS requires a dynamic search functionality that allows for users to search through the existing content based on keywords.

Each entity contains a tags property within frontmatter than can be indexed for search.

LMS search should be built upon an existing solution such as ElasticSearch or GraphQL.

Anclagen commented 1 year ago

Upon some investigations we have have opted to use a client side search package called fuse.js, rather than requiring a user to setup an external search server with ElasticSearch or RediSearch.

This can be used to search title, tags and the lesson content to find related items to the search query.

It also has a selection of operands out of the box that can be used, although these don't entirely work as advertised so some additional manipulation search teams and filtering of the results is likely to be required. A basic implementation of fuse was merged into the search-dev branch with PR #47

Future aims;

Anclagen commented 1 year ago

Basic search implementation with some simple filtering for types merged into main.

Anclagen commented 1 year ago

This can be considered complete with the addition of code for #58