У меня не было продуктов, возвращенных при поиске, в Magento 1.8.1, и я решил ее, установив для is_anchor значение true в категории по умолчанию (id 2), а затем переиндексировав категорию продуктов.
Под капотом количество результатов поиска возвращается по запросу, примерно так:
SELECT COUNT(DISTINCT e.entity_id) FROM `catalog_product_flat_1` AS `e`
INNER JOIN `catalogsearch_result` AS `search_result`
ON search_result.product_id=e.entity_id
AND search_result.query_id='11'
INNER JOIN `catalog_category_product_index` AS `cat_index`
ON cat_index.product_id=e.entity_id
AND cat_index.store_id='1'
AND cat_index.visibility IN(3, 4)
AND cat_index.category_id = '2';
Это было соединение в catalog_category_product_index, где category_id = 2, которое блокировало результаты.Эта категория не была включена в индекс.
Устранение проблемы с помощью привязки категории и переиндексации.