Open up the page.search.xml.config or the page.searchadv.xml.config xmlpackage (depending on whether you are using the basic or the advanced search) and change the @ViewType parameter in the stored procedure in the Products query from 0 to 1
Code:
<query name="Products" rowElementName="Product" runif="SearchTerm">
<sql>
<![CDATA[
exec aspdnsf_GetProducts
@categoryID = @CatID,
@sectionID = @SecID,
@manufacturerID = @ManID,
@distributorID = @DistID,
@localeName = @locale,
@CustomerLevelID = @CustLevelID,
@affiliateID = @AffID,
@ProductTypeID = @ProdTypeID,
@ViewType = 1,
@pagenum = 1,
@pagesize = 2147483647,
@StatsFirst = 0,
@searchstr = @SearchTerm,
@extSearch = @SearchDescriptions,
@publishedonly = 1,
@ExcludePacks = 0,
@ExcludeKits = 0,
@ExcludeSysProds = 1
]]>
</sql>
This will keep the stored procedure from returning all variants, and only return the default variant. Switching this back to a value of 0 will cause the search to return all variants again.