Content Type should be a Map not an enum.
No need to implement join twice.
Add a sorttitle field to all documents.
Remove inactive documents from most queries.