SearchWP News

Category: Releases

This update better respects disabled post types when finding appropriate term archives to bubble to the top. It also adds a new filter, searchwp_tax_term_or_logic that allows you to enable OR logic when looking for potential term archive pages. For example if you want term archive pages with any of the search terms, you can add the following to your functions.php to have any single term matches count as prioritized:

add_filter( 'searchwp_tax_term_or_logic', '__return_true' );

Lastly: when multiple taxonomies are utilized, the term bubbling is in accordance to the taxonomy weights you have set.

In this update I’m excited to debut the Xpdf Integration Extension. Xpdf is a standalone PDF processor that SearchWP can utilize when extracting content from your documents. Please note that the Xpdf Integration Extension utilizes a call to exec() and also requires you to install Xpdf manually (so as to put it in a non-public location). Find out how easy it is to integrate Xpdf and SearchWP by reviewing the installation instructions.

Also included in this update is initial support for remote debugging, so as to help me better respond to your support requests. There were also some other minor updates as well, full changelog:

[New] Initial implementation of Remote Debugging (found in Advanced settings)
[New] Extension: Xpdf Integration
[New] New filter: searchwp_external_pdf_processing to allow you to use your own PDF processing mechanism
[Improvement] Less strict AND logic used in the main query
[Improvement] Better database environment check (needed as a result of MySQL bug 41156
[Improvement] Additional cleanup of SearchWP options during uninstallation
[Improvement] Force license deactivation during uninstallation

This update forces SearchWP to use the pre-1.3.2 OR logic instead of the AND logic it uses now. When considering fuzzy matches, AND logic will hardly (if ever) generate the results you’re looking for, so SearchWP will use OR logic when Fuzzy Matches is activated.

Version 1.3.2 includes a quick fix to an issue with the deferred index updates introduced in 1.3.1. There is also an important logic change that you should know about.

Through version 1.3.1 SearchWP used what can essentially be considered OR logic for searches. As of version 1.3.2 that logic has been switched to AND for a number of reasons. The two big reasons are:

1) Performance – Using AND logic results in queries running exponentially faster.

2) User expectation – Depending on how you set up your keyword weights, OR logic can sometimes lead to a loss of relevance in your results.

As a result of those two nagging issues, SearchWP will now default to AND logic with search queries, and fall back to OR should there be no results with AND.

If you would like to revert to OR logic you can quickly do so by adding the following to your functions.php:

add_filter( 'searchwp_and_logic', '__return_false' );


I’m really happy to say that version 1.3.1 is now available via auto update for active license holders. The biggest update in this release is the change to background index updating when editing posts. Prior to this release you would need to wait for edits to be reindexed before the page would load, but that is no longer an issue as that task has been offloaded to a background queue. This update will manifest in much quicker page reloads when making content edits. A number of other small updates have been made as well, full changelog:


  • [New] Added ability to ‘wake up’ the indexer if you feel it has stalled
  • [Fix] Fixed an issue where Custom Field weights would not be properly retrieved if there were capital letters in the key
  • [Fix] Fixed an issue with cron scheduling and management
  • [Improvement] Delta index updates are now performed in the background
  • [Improvement] Reduced latency between indexer passes
  • [Improvement] Better tracking of repeated passes on lengthy index entries
  • [Improvement] Better accommodation of potential indexer pass overlapping and in doing so reduce the liklihood of database table deadlocking
  • [Improvement] Better notifications regarding license activation
  • [Improvement] More useful debugger logging
  • [Improvement] Better index progress display after purging the index

Version 1.3 comes with a number of other dot releases that were not announced here simply because of the tight timeline. I apologize for the rapid dot release updates, I’ve just been trying to knock out bug fixes for customers ASAP. I hope to stabilize the schedule from here on out as the codebase matures. On to the release notes!

[New] New filter: searchwp_search_query_order to allow changing the search query order results at runtime
[New] New filter: searchwp_max_index_attempts to allow control over how many times the indexer should try to index a post
[New] New filter: searchwp_prevent_indexing to allow exclusion of post IDs from the index process entirely
[Improvement] Better low-level interception of WordPress query process so as to accommodate other plugin workflows
[Improvement] Better realtime monitoring of indexer progress
[Improvement] Better detection and handling of troublesome posts when indexing
[Improvement] Better handling of 'initial index complete' notification after purging and reindexing
[Improvement] Cleaned up purging and uninstallation routines

[Improvement] Search statistics are no longer reset along with purging the index
[Improvement] Better options cleanup both during index purges and uninstallations
[Improvement] Improvement in overall indexer performance, not by a large margin, but some

[Fix] Fixed an issue where the database environment check was too aggressive and prevented activation before the environment was set up

[Fix] Fixed an issue where numeric Custom Field data was not indexed accurately
[Improvement] Better detection for custom database table creation

Version 1.2.2 fixes a regression in 1.2.0 that prevented proper taxonomy exclusion from search results. Another bug was taken care of that, in certain cases, had the index indicator exceed 100% completion.

Fix keyword search on your site. No coding required!

Now you can utilize all of the content that's gone unrecognized by native WordPress keyword search instantly with SearchWP

Get SearchWP