Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • If the tag list is not too large it can be retrieved in a single API call and used client side, Held in memory to drive select or autocomplete lists effectively. However this is not necessary and we can also provide an autocomplete API that returns partial matches to keywords. along with categories

  • grouping tags into collections allows some categorisation - e.g. school topics, skills etc. This may help pick lists focus on key terms.

  • Results are copied as strings arrays into the item documents so can be searched using multiple terms using keyword search. Docs have atomic updates.

  • Adding tags is just upserting the document. As the list is used for selection, an item with a tag not in the list is not a problem.

  • Also providing the tag list via redux will allow it to be server side added to the web page.

Con:

  • Each tag string is stored multiple times - once in the tag list, and again for each usage. However tags are short strings.

  • Finding all the docs matching a given tag means searching each collection separately. This is ok though.

  • Counting instances of each tag would need to be done client side after a result set has been provided.

Likely size of the tags document. 1000- 10000 words, average word length 7, largest file 70k. This is smaller than most images in the system.

Tag Object + Tag Usage collections

...