
By default, WordPress performs native searches using very resource-intensive MySQL queries that force the database to carry out a full scan of the `wp_posts` table (filtering using `LIKE %keyword%` in the titles and content of each post). As your site grows, this record-by-record scan severely impacts server performance, causes CPU usage in MySQL to skyrocket, and results in slow response times or even timeouts.
As I explained here a while back, I’ve finally managed to sort out the issue with the native search engine’s response speed using a couple of snippets.
I have now turned those snippets into the Fast JSON Search plugin (working title), which avoids costly string comparisons in the database by pre-indexing your published posts into a static, lightweight JSON file (search-index.json) located in your uploads directory (wp-content/uploads). When a visitor performs a search, the plugin checks the index in milliseconds and provides only the IDs of the matching posts directly to MySQL (WHERE ID IN (...)).
The JSON index file (search-index.json) is created automatically when you install and activate the plugin. In your admin area, you can always monitor how its size changes as it grows.
It works with any standard WordPress theme without the need to modify results pages, add shortcodes or create custom search forms.
It improves the default search function in a simple and transparent way. Simply install and activate it. There are no structural changes of any kind; when you uninstall the plugin, everything works exactly as it did before you started using it.
It reduces the load on the database. It eliminates LIKE %...% operations, which consume a lot of CPU resources, in large databases.

Real-time synchronisation. Automatically updates the JSON index whenever content is published, updated or deleted.
Normalised search. Removes accents and diacritical marks so that searches match exactly, regardless of spelling variations.
Search Stats Banner. Option to add a message such as:‘7 results found for: “word” in 0.0054 s’ on the results pages.
Clean uninstallation option: The search-index.json file is completely removed when the plugin is uninstalled.
Optimised for high traffic. Ideal for blogs with a large amount of content, news sites and websites with thousands of posts. Although you can use it on sites with any amount of content, you’ll notice its benefits most where queries have become slow.
The idea is to keep refining and improving the search logic as much as possible. It has been submitted to the WordPress plugin repository (where it will be translated in due course), but if you’d like to try it out before it’s released, you can download it from here:









