If you see that Catalog Search Index stuck on processing status, getting timed out when you try to launch reindex manually — you have problem. Main effect of it is that your new added products don’t show up in search. Right, that’s bad and not increasing your sales. Good news that this could be fixed.
First thing you can try is to increase execution time limit. Maybe adding another 30 seconds will be enough for this process to complete in time. You can do it by changing max_execution_time in php.ini or overriding it with ini_set function in code. If this is not enough need to try some other workarounds.
Another good way to solve it is to launch indexing process from shell instead of admin interface. This will move time limit problem out the way. To do it SSH to your server and change path to /shell folder in root of your Magento installation and execute following code:
php -f indexer.php –reindex catalogsearch_fulltext
This will reindex your Catalog Search Index or if you want to update all of the indexes run:
php -f indexer.php reindexall
You can setup cronjob that will do this work periodically If you don’t want to do it all the time manually in future.
Another wise move will be to fight the reason of slow indexing problem. Lets see how this feature works. Magento gets all of the products and its searchable attributes. Then generates flat table that have string field with attributes values concatenated in it. And this table is get searched when customers are searching for something.
So the more products and more searchable attributes you have — the longer indexing process will run. As it will need to join and get all of that attributes to each product. Solution is to decrease number of products or number of searchable attributes. Removing products is not an option (unless you sold them). Removing some of attributes from search index can be done.
Sort attributes in Manage Attributes by Searchable column and see if you can get rid of some of them. Title, description, short description, SKU, maybe color and size — those attributes are good for search. But weight, price, taxable type, status, not sure if you will have customer searching by them. Click on attribute you want to exclude from search index and set Use in Quick Search option to No in Frontend Properties block. Leave as few searchable attributes as possible and you will see how indexing speed is increasing dramatically.
Looking for further improvement of your Magento store? Check out our Magento Extensions that can help in your eCommerce business.