SearchWP News

Category: Releases

Release: SearchWP 3.1.6

November 15, 2019 in

SearchWP 3.1.6 is a recommended update for all active license holders as it cleans up a few bugs and implements some performance enhancements. It also better integrates with WordPress 5.3.

Full changelog:

  • [Change] Default partial match minimum length updated to 3
  • [Improvement] Handling of quoted searches when highlighting
  • [Improvement] Integration with WordPress 5.3
  • [Improvement] Exact matches given more weight when finding partial matches
  • [Fix] SWP_Query quoted search handling in some cases

SearchWP 3.1.5 is now available to all license holders. This is a minor release that implements a couple performance optimizations.

Full changelog:

  • [Improvement] Performance when considering document processing
  • [Fix] Partial matches resource usage

Version 3.1.4 of SearchWP has been made available for all active license holders, it is a recommended update that fixes a couple of performance issues that will benefit everyone.

Full changelog:


  • [Fix] Regression introduced when debugging is enabled and FS_METHOD = ftpext is imposed
  • [Fix] Custom built admin searches not working as expected in some cases
  • [Improvement] Search query performance
  • [Improvement] Handling of AND logic when considering partial matches and synonyms
  • [Improvement] Improve performance of partial match handling
  • [Improvement] Prevention of redundant queries in some cases
  • [New] New filter searchwp_th_excerpt_consider_comments to consider Comments when generating global excerpts if no highlight is found

Today is a good day, SearchWP 3.1 has been released! There are a number of features included in this release that have been (heavily) requested for some time, so I’m very happy to have them available as of today!

Quoted phrase searches!

A (somewhat unknown) feature of many search engines is the ability to wrap a search query in double quotes to restrict matches to results that have an exact match for that search query.

Take for example searching coffee mug vs. "coffee mug"

The latter would restrict results to only those that have coffee mug appearing exactly as such in the content. For a long time this was a limitation due to the way SearchWP operates (SearchWP is a token-based system, so context such as this is lost during the indexing process) but as of version 3.1 SearchWP now supports these quoted searches!

Please note, however, that quoted searches are not fully supported in SearchWP, there are some caveats! For more information please see the documentation for quoted searches. As a result of these caveats, this feature is opt-in and can be enabled on the Advanced tab of the SearchWP settings screen.

“Did you mean?”

Another feature that has been added to SearchWP 3.1 is the ability to automatically suggest a revised search if the original search did not produce any results. This comes in very handy when considering slight misspellings during searches.

When this option is enabled (which can be done on the Advanced tab of the SearchWP settings screen) SearchWP will keep an eye out for cases like this and automatically revise the search with a better match. The results from that better match will be displayed, along with a message on the screen indicating that a revised search has taken place. For more information please see the documentation for “Did you mean?” searches.

That’s not all!

As with all releases of SearchWP, version 3.1 also brings with it a number of bug fixes and lower level optimizations. Some of those enhancements include better handling of Synonyms, core support for additional keyword stemming locales, bug fixes with term highlighting, and quite a bit more!

Full changelog:

  • [Change] Partial term matching now requires PHP 5.4+
  • [Change] Synonym handling has been improved, for full explanation see
  • [New] Support (with caveats) for quoted/phrase/sentence searches, for more information see
  • [New] Automatic “Did you mean” handling for misspelled searches, for more information see
  • [New] Adds core support for keyword stemming for these language codes: EN, DA, NL, FR, DE, IT, NB, NN, PT, RO, RU, ES, SV (if you are using an Extension you can remove it)
  • [New] New filter searchwp_query_collate_override to override table COLLATE
  • [New] New filter searchwp_th_minimum_word_length to control highlighter minimum word length
  • [New] New filter searchwp_persist_extra_metadata to control whether Extra Metadata is persisted (e.g. to support quoted searches for that data)
  • [New] Detection for background indexer communication failure in some cases
  • [Improvement] Global excerpts now implement WordPress’ excerpt_more output where applicable
  • [Improvement] Partial match highlighting is more accurate
  • [Improvement] JavaScript bundlers have been reconfigured and optimized
  • [Fix] Account for AND logic refinement being too aggressive in some cases
  • [Fix] Trigger index when scheduled posts are published
  • [Fix] Delta updates when editing via Quick Edit
  • [Fix] Better checks against index when evaluating partial matches
  • [Fix] SWP_Query results are no longer incorrectly overridden with subsequent calls to SWP_Query->get_posts()
  • [Fix] Highlighter partial match setting now defaults to core partial match setting
  • [Fix] Warning when processing purge queue in some cases
  • [Fix] Parent weight transfer for Media is no longer enabled by default
  • [Fix] Global highlight functions are now initialized in a more accessible way
  • [Fix] z-index problem when adding a Post Type to an engine
  • [Fix] More consistent handling of internal metadata types
  • [Fix] Prevent inapplicable post types from being considered for search when in the WordPress Dashboard
  • [Fix] Take exclusive regex matches into consideration when tokenizing
  • [Update] Translation source

Version 3.0.7 of SearchWP has just been made available and is a recommended upgrade for all SearchWP customers. Version 3.0.7 is primarily a bug fix and improvement release, but here are the details from the changelog:

Full changelog:

  • [Improvement] Handling of highlighter logic
  • [Improvement] Highlighter excerpt generation
  • [Improvement] Debug environment checks/messaging
  • [Improvement] Provide feedback when synonyms are influenced by other tokenizer rules
  • [Improvement] Index statistics calculation
  • [Fix] Issue with multiple-word source terms for synonyms not being processed correctly in all cases
  • [New] New filter searchwp_weight_mods_wrap_core_weights to support additional weight customizations
  • [Update] Translation source
  • [Update] Updated updater

SearchWP version 3.0.6 has been made available to all active license holders. It is primarily a bugfix release with a couple of enhancements and is a recommended update for all license holders.

The biggest change in this version is an adjustment to how admin search interception is implemented. In order to take advantage of SearchWP’s index optimizations, you now need to specify which SearchWP engine is used when searching in the Admin/Dashboard.

There are additional optimizations and bugfixes that make SearchWP 3.0.6 more performant and display more relevant results in more cases.

  • [New] When enabling Admin search hijacking you must now choose an engine to use for Admin searches
  • [Change] Regex pattern matches are processed by min word length and stopword removal rules
  • [New] New filter searchwp_apply_rules_to_whitelisted_terms controls whether rules (min word length, stopword removal) applies to whitelisted terms
  • [Fix] Issue with partial matching when multiple searches are run for a single request
  • [Fix] Prevent parent attribution when searching in the Admin (would result in false negatives)
  • [Improvement] Partial match processing
  • [Improvement] Handling of delta updates to reduce resource usage
  • [Improvement] System Information is now more comprehensive
  • [Update] Translation source

Version 3.0.5 of SearchWP has been released and is a suggested update for all active license holders. There are a couple of enhancements and changes that should be discussed:

You can now paste in a comma separated list of Stopwords into the Stopword input and SearchWP will automatically create separate Stopwords for you. This will help when you’d like to import a list of Stopwords directly into the interface.

Partial matching has been changed slightly in version 3.0.5. In version 3.0 partial matching was implemented in such a way that it only applied when exact matches were not found. This went against the implementation of LIKE Terms and Fuzzy Matches (the Extensions that SearchWP absorbed in version 3.0) so this behavior has been reversed. When partial matching is enabled SearchWP will now search for partial matches regardless if there are exact matches. You can utilize the searchwp_partial_matches_lenient filter to restore the behavior from version 3.0 if you’d like.

The third party libraries used by SearchWP have been reorganized and updates. There are two reasons for this: primarily there was a security notice related to TCPDF which is a library used by SearchWP for PDF parsing/indexing. This security issue was not exploitable given SearchWP’s implementation as it relied on a malicious actor uploading a specific file type which needed to then be used in the creation of a PDF using TCPDF. SearchWP does not generate PDFs nor does it facilitate file uploads. While this exploit does not directly relate to SearchWP it is important to remain updated. The second reason for reorganizing these dependencies is an effort to circumvent an issue with plugin updates in certain Windows server environments.

The full changelog for version 3.0.5 is as follows:

  • [New] Pasting of comma separated Stopwords will create individual Stopwords from the list
  • [Fix] Conditional disabling of partial matches per engine by using provided filter
  • [Fix] Prevent missing exact matches when finding partial matches
  • [Improvement] Post types that are excluded from search during registration are now listed out
  • [Improvement] When Metrics is installed the engine configuration Search Statistics link is correct
  • [Change] Enabling partial matches no longer gives exact matches full priority, short circuiting on exact matches is now opt in via filter
  • [Change] Third party dependencies have been reorganized to reduce file path which should help to avoid issues on certain Windows servers
  • [Update] Translation source
  • [Update] PHP version compatibility
  • [Update] Dependency update which brings additional PHP compatibility
  • [Security] TCPDF security update (which as evaluated could NOT have been exploited)

SearchWP 3.0.4 is a bug fix and small improvement release that is a suggested update for all active license holders. Full changelog:

  • [Improvement] Handling of multiple word highlighting
  • [Improvement] Better restriction during indexing
  • [Fix] Issue with Advanced Custom Fields repeater detection
  • [Fix] Better handling of cached data
  • [Fix] Prevent unwanted indexer activity when using searchwp_indexed_post_types
  • [Change] Removal of ACF field references is now opt-in
  • [Change] searchwp_lenient_accents now applies during searches as well
  • [New] Filter searchwp_lenient_accents_on_search to allow refined control over leinient accent treatment

Version 3.0.3 Now Available

February 21, 2019 in

Version 3.0.2 of SearchWP has been made available to all active license holders. This release fixes a couple of bugs/regressions introduced in version 3.0. Full changelog:

  • [Fix] Fixes an issue with checking for unused meta keys when configuring search engines
  • [Fix] Fixes a potential issue with searchwp_short_circuit being incorrectly overridden
  • [Fix] Fixes an issue with synonyms not working as expected

Version 3.0.1 of SearchWP is now available which includes a small fix as outlined in the changelog:

  • [Fix] Fixes an issue that may prevent Custom Fields from appearing in engine configuration
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