Can I update Search without rebuilding the search index?
Yes. After updating Super Speedy Search, searches keep running on your current index, and you can rebuild later when it suits you. The one thing to check straight away is the scheduled rebuild, because if it is switched on it will run the rebuild for you on its next date.
What the update does to your index
Nothing. Updating the plugin does not start a rebuild, and neither does the first page load, a visit to wp-admin, a wp-cron run or a Fast Ajax request afterwards. The index tables are not altered, recreated or written to. Searches on an index built by an older version keep working with no database errors.
New and edited products keep being indexed into the older index as they are saved: renames, price changes, stock changes and new products all show up in search.
wp-admin shows a “the search index needs rebuilding” notice until you rebuild. The notice does not start anything. If your searchable meta settings changed since the last rebuild, it also lists the index columns that are missing, and items saved before the rebuild are indexed without those fields.
Which results change before and after a rebuild
Some results change as soon as the new files are in place, with no rebuild, because they come from how the query is run:
- Searches containing very short words, such as “tv” or “4k”, are matched more accurately, against titles and values such as the SKU, so they can return fewer products.
- Words with punctuation in them, such as “wi-fi” or “2-in-1”, are matched more accurately too.
Ordinary multi-letter searches give the same results. Other changes need a rebuild, because they depend on columns the older index does not have. Ranking features added to the index, such as the variation attribute match weight, take effect after the rebuild, so variable products can rank differently afterwards.
The scheduled rebuild runs the new rebuild
The Tables Rebuild Schedule on the Advanced tab is switched on by default. If it is on, the first request after updating schedules the next rebuild. When it fires depends on your settings: it is the coming Scheduled Table Rebuild Day and Time, plus the extra weeks set in Scheduled Table Rebuild Week. With a Week value of 1, that is the coming Sunday at 05:00 on the default settings.
When the scheduled rebuild fires, it runs the rebuild of the version you have installed. Your index ends up on the new database version, with the new ranking features, without you starting anything. If that is what you want, leave the schedule on.
A bug pre 5.93: Unticking Scheduled Table Rebuild Enabled stops new rebuilds being scheduled. It does not delete a rebuild event that is pending, including one queued by the version you updated from. That rebuild still runs on its date, and it runs the new rebuild.
How to suspend the scheduled rebuild
To keep your current index until you choose to rebuild, do both steps on each site (on Multisite, each site has its own schedule):
- On the Advanced tab, untick Scheduled Table Rebuild Enabled and save.
- Delete any rebuild event that is still scheduled. List them first:
wp --url=https://example.com cron event list --fields=hook,next_run_gmt | grep rebuild_schedule
Then delete whichever of the two hooks is listed:
wp --url=https://example.com cron event delete sss_table_rebuild_schedule_cron
wp --url=https://example.com cron event delete sspsss_table_rebuild_schedule_cron
sss_table_rebuild_schedule_cron is the event an older version queued; sspsss_table_rebuild_schedule_cron is the current one. If neither is listed, there is nothing to delete.
From Super Speedy Search 5.93.0, unticking the box also clears any pending rebuild event of either name, so step 1 is enough.
With the schedule off and no event pending, no scheduled rebuild runs, and products you add or edit keep being indexed.
What wp sss rebuild search rebuilds
When you are ready, rebuild from the command line. wp sss rebuild search is the same command as wp sspsss rebuild search. It rebuilds:
- the main search index
- the WooCommerce admin order search index
- the terms table used for category and combination suggestions
It does not rebuild the post-title suggestions table. The command runs inside the WP-CLI process: it starts no background worker and creates no cron event. New copies of the tables are built beside the live ones and swapped in at the end, so the database needs enough free disk for a second copy of the index while it runs. The full list of rebuild commands is in Rebuilding Super Speedy Search tables from the command line: wp sss rebuild.
On a server with little spare memory, pick a quiet window and follow Rebuilding a large search index with limited memory. If the rebuild fails on a large row, see Raise max_allowed_packet for rebuilds.
If you use Fast Ajax
With Enable Fast Ajax ticked, the search dropdown loads only the plugins selected under Plugins to load for Fast Ajax on the Front-end tab. Tick WooCommerce in the Results column. Without it, WooCommerce does not load for those requests and the product dropdown finds nothing, while the full search results page keeps working. This applies whether or not you have rebuilt.
- Searches keep working after the update, on your current index
- Leave the schedule on if you want the rebuild to run on its next date
- To hold off: untick Scheduled Table Rebuild Enabled, save, and delete any pending rebuild event
- With Fast Ajax on, tick WooCommerce for Results
- Rebuild later with
wp sss rebuild searchin a quiet window
Further reading
Written for Super Speedy Search 5.92.0.

Comments