As we found that some users are not used to tagging their posts which result in some post cannot be found by other users easily. So we are considering require users to choose a category when writing a new topic.
So what categories would you want? Any other suggestions to organise the posts?
My first suggestion would be to create a controlled vocabulary for tags i.e., a drop-down list. Look at the existing tags (ones people have already entered) as your initial controlled vocabulary.
You probably have 90% of what people want. The tags that have been entered here have been entered as people ask their questions, so they are much more likely to be accurate than their response will be to this question.
And allow us to search separately for metadata (tags) and content (in the questions).
Are these categories separate from the tags? Will you only allow certain tags in particular categories? I could go on for hours.