There are two common data classification methods: hierarchical data classification based on the data category and keyword or tag classification.
Which method is better? I don't think there should be obvious boundaries in itself. If data itself is not defined as a hierarchical classification, such as classification of species, genus, species, and object in biology, it is better to adopt hierarchical classification. Generally, keyword-based methods are more flexible, so that data can belong to multiple keywords, so that a single data can adapt to multiple categories.
Currently, the product system mainly uses hierarchical classification. It is obvious that retrieval is inconvenient when one data corresponds to multiple features, I think the best way is to take two methods into account to achieve better results.
However, during analysis, it was found that keyword extraction is a popular method of tagging, Which is troublesome. If you enter keywords during data input, users are quite annoying, therefore, if the entered data is plain text, the TAG should be able to assist the user in collecting the entered data. If the entered data is binary data, it can only be done manually.
Now we can see that using tags to expand the system's features is a good method. Our system has a "locked" feature first, there are only two statuses: "locked" and "Unlocked". Now, the user wants to "Lock", "unlock", and "temporarily lock..." Adding multiple States to "locking" is not suitable for the original design, so it is better to use keywords.