Structuring the navigation well will answer 80% of peoples queries. For everything else, there is search. Good search should be invisible, predictable and accessible.
Search engines in daily use by people generally deliver very good relevancy on their results. People click the first result much more frequently than the following results.
For the most used search keywords, and ones that are important to us, we should choose what the top result is.
People don't read, they scan information on the web. As such, information density is very important.
We should present search results in a meaningful list, ordered by relevancy, exactly like every other place on the web.
There is little evidence users want or need their search results to be grouped and organised so the default should show all the results, ordered by relevance. If grouping is used, it should be through user selectable filter.
A one dimensional list of results, with large titles, a small sample from the article and small category or subject keywords is enough structure for the user to judge relevancy.
For the content on this site, assuming relevancy can be tweaked and hand-tuned one other sort dimension may be useful: Time
Order by time - to show the most recent article or update on a subject.
No need to reinvent the wheel here. Follow the established pattern
Here is an example search results page.