adventurelookup-frontend icon indicating copy to clipboard operation
adventurelookup-frontend copied to clipboard

Search middleware skeleton

Open brehaut opened this issue 8 years ago • 1 comments

Search is a major component of Adventure Lookup. The project will need middleware between the UI and backend APIs to coordinate requests and provide fast responses from caches.

This infrastructure will support all the different UIs users may use to search that may be built:

  • Simple search
  • Advanced search with a query builder UI
  • Advanced search with a parser UI

Tasks:

  • [ ] Define the schema for query messages to be sent to the server. Consider https://brehaut.net/media/files/search-proto/ as a starting point.
  • [ ] Skeleton web worker to act as middleware (dummy data initially, then pass through):
    • [ ] Build task for worker scripts.
    • [ ] Class to wrap up interacting with the worker for UI code to consume.
    • [ ] Messages that the middleware needs to support:
      • [ ] Search results for a given query.
      • [ ] All tags for a given tag stem across all facets.
      • [ ] All tags for a given tag stem across a specific facet.
      • [ ] All facet names for a given facet name stem.
  • [ ] Cache class for long term tag / facet storage.
    • [ ] Initally a dummy implementation.
    • [ ] IndexedDB datastore, probably using dexie.js as the API to the DB.

A later task will cover advanced features of caches and middleware such as 'sound alike' searches and synonyms.

brehaut avatar May 31 '16 01:05 brehaut

CC: @brehaut

brehaut avatar May 31 '16 01:05 brehaut