This is what I am going to build to solve this problem, since none of the proposed solutions so far solves the whole problem.
Let me call it collect.tagvocabularies (?)
The goal is to incorporate several different categories of keywords into existing Plone content through an existing tag metadata field, and then use plugins such as FacetedNavigation to display the content as if the content was classified by several different faces. He will do this by dynamically providing many different dictionaries based on the unique keyword index values ββin Plone.
It will provide a control panel where you can enter a regular expression. This re will be used for all keywords used in all content to break it to the brink. For example, if all your tags are in the form of Animal-Fish, Color-Blue, your re will be
(?P<facet>[^\S]*)-(?P<value>[^\S]*)
Once installed, the Vocabularies for "Color" and "Animal" are available for use anywhere, including eea.facetednavigation. Any new tag added to the content will automatically be available in dictionaries (caching may be required).
source share