Hi,
You can exclude all of the modules except the blog by adding the GUID for each one to the SearchableFeatureGuidsToExclude key in the user.config file. To find the GUID for each module, you'll have to use the Administration>Advanced Tools>Feature Installation page. There isn't a list of them anywhere on this site. I'll try to get a list posted in the next day or so, if Joe Audette doesn't have any objections to doing that.
As far as having the search box only show up on the blog, the easiest way is to place the search control in the layout.master and use CSS to hide or display the search control.
-
Create the following CSS in your style.css file (you may want to search the file for the "searchpanel" class and change it).
.searchpanel {display: none;}
body.show-search .searchpanel,
body.blogviewpost .searchpanel,
body.blogviewarchive .searchpanel,
body.blogviewcategory .searchpanel {display: block;}
-
On the page you have the blog installed, add the "show-search" class to the "Custom Body Css Class" option.
By default this would hide the search box, and then it would be present on pages using the "show-search" css class in the body and any of the supporting blog pages.
HTH,
Joe D.