I have implemented a Site Wide Search in my nopCommerce site for a client. This searches in to Products, Category, Blogs, Press Releases (News) and Events (See my other post on how to implement Event in nopCommerce) section with the given key word. The paging is enabled and User can filter the search result. This may not be the optimal way, but I think its worth sharing with you. The source codes can be downloaded from this link. This is on 1.30 version.
Replace the Search.ascx with the files in the \Modules folder in my source.
Open the modules.css file in App_Themes\<Your Selected Theme> folder and comment out the CSS for Search Result. Use the given CSS herewith in CSS TO BE ADDED IN modules.css folder.
Go to Libraries -> Nop.Common -> Search. Replace the files with the files given in NopSolutions.NopCommerce.Common.Search folder
Go to Libraries -> Nop.DataAccess -> Search. Replace the files with the files given in NopSolutions.NopCommerce.DataAccess.Search
Replace the files in Libraries\ Nop.DataAccess.SqlServer\Search with given files in NopSolutions.NopCommerce.DataAccess.SQLDataAccess.Search
Create the Stored Procedure. Query Given in the SQLQuery.sql File.
Now run the site and make changes as you need. I could include the Topics Section too. But Topics has no field to identify in which page the topic is being used.
However, this is for 1.30v, so, the guys working on the newer version may have an idea and implement of their on.
You can watch a live demo in the site: http://www.sandalaproductions.com