Like any other problem, you want to decide ahead of time what you want to do. I.e.
- query according to keywords
- look for text in problem titles
- look for text in problem fields such as filer, subject, etc.
In other words, do requirements analysis first. BE SPECIFIC in HOW you intend to manipulate the knowledge base. Then design your tables and relationships to support these concepts.
I would have at least a couple of tables.
1. Knowledge topic
- topic ID
- filer
- last update
- descriptive text
More fields would be present as your specific data storage and search methods require.
2. Keyword tables
- keyword
- topic ID
Prime Key either would not exist or would be the combination of the two fields.
Then, a keyword search would be for all articles having a given keyword, returning a list of possible matching articles. Other searches would be based on fields in the base knowledge table.