Core Changelog for Super Speedy Search

Showing core changelog - click here to view beta changelog instead

Contributors: dhilditch
Donate link: https://www.wpintense.com/
Tags: speed, performance
Requires at least: 4.7
Tested up to: 5.8.2
Stable tag: 4.00
Requires PHP: 7.0 License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Instant as-you-type search using native WordPress tech.

Description

Instant as-you-type search using native WordPress tech.

Frequently Asked Questions

Is this PHP 8 compatible?

Yes, and it's MySQL 8 and MariaDB compatible too.

Changelog

5.09 (30th October 2024)

  • Fix for Edit Product option 'hide from catalog' in ajax search results
    • non WooCommerce items are unaffected

5.08 (29th October 2024)

  • Fixed pagination issue on search results page
    • it was working if you had Scalability Pro Remove SQL_CALC_FOUND_ROWS enabled
    • but without it, with the previous new optimisations it was not calculating total pages
    • total page counts are back now, and faster than ever

5.07 (23nd October 2024)

  • Removed excess logging to the error log

5.06 (22nd October 2024)

  • Improved compatibility with TranslatePress slightly - build process still needs to be modified for complete compatibility

5.05 (18th October 2024)

  • Hotfix for cross-sell, up-sell, 'whatever' ajax product search from edit product pages

5.04 (18th October 2024)

  • Hotfix for table collation not being respected

5.03 (16th October 2024)

  • Hotfix for wp-admin product search, had hardcoded wp_ table prefix :(

5.02 (16th October 2024)

  • Hotfix for versions of MySQL which do not like variable assignment inside a query

5.01 (15th October 2024)

  • Fixed bug with "exact searches" with new structure

5.00 (13th October 2024)

  • Optimized the rebuild so that it does a few things in one table scan rather than multiple table scans
    • this also eliminates the need to run an optimize table command
  • Also sped up how long the first real part of the build takes - this part is the only part which references live WP tables, so the shorter those are in use the better
    • e.g. on foundthru now (1 million products), this first step takes 5 minutes meaning I cannot insert to wp_posts for 5 minutes - no big hardship - previously it was 20 minutes
    • now the whole search rebuild on foundthru takes 20 minutes total, previously 40 minutes (excluding suggestions rebuild)

4.99 (13th October 2024)

  • Fixed wp-admin bar so it shows SSS Active correctly
  • Refactored form generation code so there is only one piece of code that generates the search form
  • Removed scrolllock for fixed position overlay
  • Refactored shortcode PHP
  • Updated post_status to only include 'inherit' if an attachment post type is included in the search

4.98 (12th October 2024)

  • Fixed cancel button properly so it completely cancels
  • Added GUID to fulltext check for tickmark on Main tab (needed for filename search)

4.97 (12th October 2024)

  • Re-worked how the SQL Build operates to handle short tokens and tokens containing punctuation
    • brings speed back to excellent levels, build speed had become slow
  • Fixed bug in 'search this page' feature which was causing it to still search a page on a single, not just archives
    • also, this was being enabled by default! (all versions > 4.85 were dev versions though)

4.96 (9th October 2024)

  • Fixed exact searches so that, e.g. a search for 'os' will only match whole words
    • this affects synonyms, e.g. if you have: os, operating system then 'os' will now have to be an exact whole word match
  • Added partial matches to meta columns and post_title
    • e.g. if you have 000-XYZ-1234 you can search for xyz-1234 or even just 1234 to find this item.
    • for these partial matches to work, there must be a non-alphanumeric separator, e.g searching for 1234 against 000-xyz1234 will find nothing
    • I'm thinking for admin searches when nothing found, to give a button to perform a slow search and search within the string
  • Improved media search
    • fixed fulltext search so it actually works for media search
    • now, similarly to meta values and titles, you can search for parts of the filename to find matches too
  • Fixed compatibility with WP Sheet Editor
    • it was just a cautious hook not running unless it was on the product admin/search screen
  • Fixed 'Search current page' widget option
    • it was ignoring URL parameters
    • also tidied up the double slash //

4.94 (5th October 2024)

  • Changed REGEXP_REPLACE code to by MySQL 8 compatible - did not realise it was MariaDB only to be able to replace backreferences

4.93 (5th October 2024)

  • Fixed bug in new faster code breaking orderby
  • Fixed exact search containing short tokens

4.92 (4th October 2024)

  • Fixed new synonym code so that it works perfectly with the new short-token code and items with non-alpha-numeric characters inside them
  • Fixed exact search so that it forces the words to have to be next to each other
  • Fixed synonym search so that if you use a combination of long and short tokens (>=3 or < 3 chars) then the search will work!
  • Fixed short token weights so they get ranked properly
  • Fixed synonyms when there are multiple synonym matches so that it performs correct fulltext {any of these} AND {any of these}
  • Fulltext synonyms made to be exact match when >= 3 characters

4.91 (4th October 2024)

  • Added fallback redirect handler for sites that do not gracefully handle ?p=x
    • our Ultra ajax does not have access to the get_permalink function, so it generates URLs like ?p=x - these are fine normally since they normally redirect to the pretty permalink and they are not indexed by google
    • client site had 404 handler implmented which prevented their redirects from occurring, so I've added a parse_request handler which runs if ?p is set and is the only item set

4.90 (2nd October 2024)

  • Added forced ordering of search results
  • Improved onboarding messaging and added links to KB guides if 502 gateway error occurs during table build

4.89 (30th September 2024)

  • Fixed bug introduced in dev for page 2+

4.88 (26th September 2024)

  • Fixed wp-admin product search so it respects the meta keys configured - fixes SKU search in particular on wp-admin > Products
    • maybe we want to have separate config for meta keys searchable front-end vs back-end?
  • Improved SKU search (and other post meta) so that if you have entries like XYZ/ABC they will be searchable in full, but also you could search ABC and find them.
  • Fixed synonym search to work perfectly with new tokenized search
  • Added mid-SKU search functionality
    • if you have punctuation in the middle of your SKUs (or other postmeta) these can now be matched
    • e.g search ABC against an SKU of 012-ABC will match
  • Fixed up weights so they don't continue displaying in footer nav areas and fixed them so they work with all the new fast code
  • Added CSS and JS for new popover search panel option

4.87 (23rd September 2024)

  • Improved wp-admin Product Search
    • was breaking if a product variation matched the search and the table left empty gaps, or in some cases a fatal error (Elementor)
    • Reworked how the product search override works to avoid the ->pluck warnings
    • This also happens to fix an SKU bug that was reported
  • Fixed a bug with product visibility checks - it was possible for out of stock items to appear in results even if Woo was configured to not show out of stock in search results
  • Added a static function cache for our checks for columns and indexes existing to remove duplicate queries (#208)
  • Fixed collation error that can happen for suggestions building
  • Vastly improved short token search speed and accuracy

4.86 (19th September 2024)

  • Fixed warning from our Ultra-ajax mu-plugin
  • Reworked how manually added/removed suggestions work
    • a table rebuild is required if you have used these in the past
    • any manually added suggestions will allow users to search within those words, ideally keep to < 1000 manually added for speed
    • also be aware that this means those suggestions will regularly be appearing at the top - useful if you want to highlight popular things to search on your site
  • Vastly improved the speed of short-token search
    • short tokens are < 3 characters, not including punctuation, e.g. a search for "m.2 wi-fi" involves 4 short tokens: m, 2, wi and fi
    • Previously, these were having wildcards added e.g. it was searching for matches starting with m, starting with 2, starting with wi and starting with fi
    • now these short tokens must match the whole words, so any short tokens added MUST be present in order for a match to be made
    • this vastly improves SKU searches too, especially the likes of AB-12-93 type SKUs where the parts are all short tokens.
  • Reworked how EXACT search works
    • anything surrounded by "quotes" in the search string will now properly be treated as an exact search
    • any other tokens which contain 'word separators' will be treated as an exact search, e.g. wi-fi gets turned into "wi-fi" rather than searching for wi fi

4.85 (14th September 2024)

  • Fixed issue that came up with short token searches e.g. wi-fi was failing (if no long tokens existed)

4.84 (13th September 2024)

  • #179 - Short token multiplier not working for super speedy search
    • Short token boost matching exact whole word in the title
    • there's a new definition you can use to boost or reduce this define( 'SSS_SHORT_TOKEN_WEIGHT_MULTIPLIER', 50 );
    • it's also configurable in the advanced dev section
    • this boosts any items which match searched for short tokens, e.g. search for "wi-fi 6" would give 3 short token boosts
  • Improved synonym search
    • refactored code to give a single function for dealing with tokenization for the full text engine
    • used refactored code in fixing synonym search so that searches work as expected
    • fixed issue in code where if a special character was contained inside a space-separated token then this item was added to exact search matches, it was adding even if the item had been a synonym
    • that meant that a search for "t-shirt" was demanding that exactly "t-shirt" appear and not "tshirt" or "t shirt" if defined like that in the synonyms
    • this also fixes synonyms for e.g. wi-fi to wifi, or m.2 matching to nvme or m2 etc
  • Fixed meta search weights - they were not being properly applied
  • Cleaned up some other minor stuff

4.83 (12th September 2024)

  • Fixed collation table build issue
    • seems at some point in the code the table rebuild got the collations hard coded again rather than pulled from $wpdb defaults

4.82 (10th September 2024)

  • Fixed JS warning that was appearing in console from new search button option

4.81 (29th August 2024)

  • Improved styling for speech bubble
  • Added bumper to speech bubble at left hand side so it doesn't go off screen
  • Added remaining JS tweaks to make everything closable easily

4.80 (29th August 2024)

  • Added auto textbox focus when users click any of the new popover buttons to reveal the search bar
  • Fixed some warnings from our JS on some wp-admin pages

4.79 (28th August 2024)

  • Fixed error in table build related to woo order items search

4.78 (27th August 2024)

  • Fixed used of global $SSS and used its function to retrieve options so we avoid any missing option warnings appearing ever again
    • fixed in multiple places to avoid these warnings
  • Removed old unused code
  • Added new display style to shortcode only - will be added to widget once I'm more comfortable with this
    • lets you choose to display just the magnifying glass, then a popover will appear when clicking

4.77 (9th August 2024)

  • #176 - solved advanced features being overwritten completely if one is set in wp-config and then settings are saved

4.76 (25th July 2024)

  • Reverted changes made in https://github.com/superspeedyplugins/issue-tracker/issues/117 for the advanced options
    • if you set one option in your wp-config, it was greying out all the other options after it
    • if you then saved settings, these other greyed out options were being saved as unchecked
    • for now, i've disabled access to those advanced options through the interface and re-added all the definitions to the defines.php file to fix this issue immediately

4.75 (24th July 2024)

  • Fix for non-woo sites - was trying to create an index to improve woo order search but was not checking for existence of table first

4.75 (15th July 2024)

  • #167 - Add regular (weekly default) rebuild option for SSS tables https://github.com/superspeedyplugins/issue-tracker/issues/167

4.74 (23rd July 2024)

  • Fixed @petar777 reported issue with JS error on scroll

4.73 (23rd July 2024)

  • Fixed issue with "SSS_MAX_PER_TAX & SSS_SHORT_TOKEN_WEIGHT_MULTIPLIER" in advanced tab as checkbox, changed to input field.

4.73 (23rd July 2024)

  • Updated JS for license checker - it had been affecting wp-admin overlays which heavily use JS to manipulate the DOM

4.72 (17th July 2024)

  • Fixed issue with ordering by title and other orderings, both for ordering coming from URL and default settings

4.71 (11th July 2024)

  • Fixed warning on plugins page caused by new settings upgrade
  • Added better messaging for invalid, expired and exceeded licenses

4.70 (11th July 2024)

  • #168 - Wrap the SSS advanced options in a hidden div, revealable only with a JS click https://github.com/superspeedyplugins/issue-tracker/issues/168

4.69 (10th July 2024)

  • Hotfix for settings upgrade from yesterday

4.68 (9th July 2024)

  • Updated license checker to use new faster version

4.67 (12th June 2024)

  • #138 - Problem with slash "/" in search https://github.com/superspeedyplugins/issue-tracker/issues/138
  • Added background code for Customization tab and Advanced Features

4.66 (12th June 2024)

  • Happy Birthday to me!
  • Fixed critical error occurring on some sites when searching category results pages, depended on ordering defined
  • Added back in the old option to the shortcode and widget to let users choose to 'refine' their search rather than start from scratch
    • option in shortcode is called search_what with everything/current/current_product_cat all being viable current options

4.66 (23rd May 2024)

  • #117 - removed all unused defines and moved the ones being used in advanced tab. https://github.com/superspeedyplugins/issue-tracker/issues/117

4.66 (9th July 2024)

  • Updated license checker to use new faster version

4.65 (7th June 2024)

  • Found and fixed a bug caused by fix for 'subfolder' installs of WordPress
    • this was causing our ultra ajax to break and thus search speed to be slower - all fixed now
  • Found and fixed a bug in the code for #145 related to checking 'search visibility' vs 'catalog visibility'
    • removed the use of a function which is unavailable in ultra ajax
    • updated the code in the initial table build and table maintenance to respect exclude-from-search instead of exclude-from-catalog

4.64 (6th June 2024)

  • #145 - Fixed an issue where 'shop only' and 'search results only' were actually reversed in functionalit
    • If I edit a product and choose 'SHOP ONLY' it still appears in search results of SSS https://github.com/superspeedyplugins/issue-tracker/issues/145

4.63 (4th June 2024)

  • Removed a couple of unused options from the settings pages

4.62 (23rd May 2024)

  • #127 - Fixed SSS Not Active appears on EVERY wp-admin page https://github.com/superspeedyplugins/issue-tracker/issues/127

4.61 (23rd May 2024)

  • #63 - Give more control over the taxonomies search - allow admins to choose not to search taxonomy description and only search taxonomy titles.
  • #63 - issue - Set option to "No", rebuild tables, still searching in category description.

4.60 (23rd May 2024)

  • #111 - SSS Ajax does not work if WP Installed in subfolder https://github.com/superspeedyplugins/issue-tracker/issues/111

4.59 (22nd May 2024)

  • #115 - move the options that on change affact the readiness status to the top in main tab

4.58 (22nd May 2024)

  • Changed default for define( 'SSS_FAST_VISIBILITY_CHECK', true ); back to true
    • had changed it to false while developing and accidentally pushed it

4.57 (22nd May 2024)

  • Added a filter to let users use PHP filters to adjust the output (called 'sss_posts_search_where')
    • https://www.superspeedyplugins.com/kb/super-speedy-search/faq/how-to-hide-or-show-items-in-search-results/
  • Added a new optional file called sss-filters.php that you place in your theme folder
    • This is because our Ultra Ajax avoids loading the theme for speed, so the normal functions.php file would not load

4.56 (16th May 2024)

  • #116 - Added a preview to the Gutenberg compatible widget

4.55 (09th May 2024)

  • #116 - Make SSS widget Gutenberg compatible

4.54 (1st May 2024)

  • Added new definition SSS_ENABLE_WOOSA - if you use the Wooosa VidaXL DS plugin, add the following to your wp-config.php to enable their external images in our Ultra ajax
    • define('SSS_ENABLE_WOOSA', true);

4.53 (18th April 2024)

  • Fixed bug in new "don't set" option for default post type to fix broken suggestion links which were including post_type=undefined

4.52 (12th April 2024)

  • Cleaned up auto-build a bit by removing wp_die() calls

4.51 (11th April 2024)

  • Added "Don't set" option for default post type
    • enabling this will prevent the addition of &post_type=product etc to the URL
    • be careful with this, only use it if you have your default search template set up correctly otherwise it will search all post types

4.50 (4th April 2024)

  • #68 - Fixed issue for Active/Inactive SSS status for all overrides option

4.49 (27th March 2024)

  • #108 Add slug search to the back-end admin search and front-end search for searching terms and products and everything into SSS https://github.com/superspeedyplugins/issue-tracker/issues/108
  • #102 Add Use Global Settings option to Super Speedy Search widget https://github.com/superspeedyplugins/issue-tracker/issues/102
  • #89 Add button to SSS Settings Advanced tab to let users delete plugin data on deactivation https://github.com/superspeedyplugins/issue-tracker/issues/89
  • Partial WP CLI commands to make it easier for users to build or rebuild the tables
    • wp sss rebuild all
    • wp sss rebuild cancel
    • wp sss rebuild cancel force
    • wp sss rebuild search
    • wp sss rebuild suggestions
  • This dev version includes partial working admin bar to help users know when SSS is running or not

4.48 (21st March 2024)

  • Added more word boundaries for exact search matches so if users enter any special characters, they are fully searched for now

4.47 (20th March 2024)

  • Fixed bug with item searches where the search contains + symbol
    • e.g. ?s=RB5009UPR%2BS%2BIN&post_type=product (where %2B = +)
  • Added short token weights
    • customers were reporting things could not float to the top if the search involved 1 or 2 character tokens
    • added SSS_SHORT_TOKEN_WEIGHT_MULTIPLIER definition, default 50, for the short_token base multiplier
    • post_title gets bonus weight of SSS_SHORT_TOKEN_WEIGHT_MULTIPLIER * post_title weight multiplier
    • will consider adding short token weights to post_excerpt and post_content

4.46 (28th February 2024)

  • Added search form override for the Astra theme
  • Added workaround for client with Astra theme where for some reason,

<

ul> and

  • elements are being stripped from the header/search form output * Improved Admin bar assistance - this still needs improved styling before release

    4.45 (20th February 2024)

    • #68 Added a feature for https://github.com/superspeedyplugins/issue-tracker/issues/68 for showing Admin bar assistance for Super Speedy Search on search results pages

    4.44 (16th February 2024)

    • Fixed bug in ajax numitems to show config
      • it was not pulling per-post-type config, fixed now

    4.43 (16th February 2024)

    • Improved progress bar so it turns purple on completion and says "All tasks completed"
    • Improved messaging in progress bar if you change page
    • Fixed bug with checking the woocommerce_hide_out_of_stock_items
      • it now properly respects this setting
      • if you have SSF installed, you can overrule that setting with SSF
      • with SSF, this setting can also be overruled using a stock-check filter (e.g. show-all or show-in-stock filters, depending on your defaults)

    4.42 (14th February 2024)

    • Created feature for https://github.com/superspeedyplugins/issue-tracker/issues/73
      • Added search feature for "Product Categories" on Edit Product page
      • Added "Show All" on "Show Active" radio buttons for "Product Categories" on Edit Product page

    4.41 (9th February 2024)

    • Fixed bug in the fix for https://github.com/superspeedyplugins/issue-tracker/issues/59 so that:
      • if a user upgrades, option sss_search_columns gets set to all 5 columns as was the previous default unless they had SSS_ONLY_SEARCH_TITLE set to true, in which case it's set to match only the post_title
      • moved the update of this option after table build OUT of the automated build and into the getSQLStatements function so it works for manual builds too
      • cleaned up (removed) posts_fulltextindex option since it's no longer used

    4.40 (26th January 2024)

    • Fixed bug https://github.com/superspeedyplugins/issue-tracker/issues/59 Fix the option in Super Speedy Search to let users choose what to search (title, content, excerpt, meta, taxonomies)
    • Fixed bug https://github.com/superspeedyplugins/issue-tracker/issues/51 SSS - Alter [metavalues] form html to allow decimals

    4.39 (22th January 2024)

    • Fixed bug https://github.com/superspeedyplugins/issue-tracker/issues/47 SSS reset button clears panel, but then clicking inside search box brings panel back with the fetched results
    • Fixed bug https://github.com/superspeedyplugins/issue-tracker/issues/37 Add 'search whole words' option next to Exact search option in SSS

    4.38 (18th January 2024)

    • Fixed bug with search not working for media that was uploaded after the tables had been built
      • now works for all techniques of uploading media or any attachment type
      • table rebuild will be required if you were affected by this and attachments will be properly maintained and synchronised to our superspeedysearch table automatically from there on
    • Further fixes for search orderby - fixes media search since the $query param has orderby = date, order = desc
      • also refactored the ordering code so we only have one ordering codepath
      • priority is url parameter, then query variable (was previously ignored), then default settings
      • if default settings are used, we apply the woocommerce_get_catalog_ordering_args filter
    • Additional fix for media list grid, searches now correctly order by post_date desc
      • for some reason woo uses ajax for the grid but full php and no order query set for the list
      • https://github.com/superspeedyplugins/issue-tracker/issues/44
    • Fixed image deletion bug, images are now properly deleted from the search results table
      • this bug was bigger than this, deletes were not working for any post type
      • if you have been deleting items from your site after installing super speedy search, you should rebuild our search tables to ensure deleted items do not appear in the search results
      • https://github.com/superspeedyplugins/issue-tracker/issues/39

    4.37 (10th January 2024)

    • Re-added order-by option by popular demand, just note that some of these options cannot be guaranteed to be ultra fast
      • https://github.com/superspeedyplugins/super-speedy-search/issues/3

    4.36 (6th January 2023)

    • Fixed strict search when using Synonyms https://github.com/superspeedyplugins/issue-tracker/issues/9
    • Fixed ajax product search for linked products and upsell products https://github.com/superspeedyplugins/issue-tracker/issues/17

    4.35 (22nd November 2023)

    • Remove misspellings menu

    4.34 (21st November 2023)

    • Updated plugin updater to look at superspeedyplugins.com

    4.33 (21st November 2023)

    • Fix for API check, was not caching one type of result
    • Fixed Ultra Ajax to properly limit the decimal places
      • https://github.com/superspeedyplugins/issue-tracker/issues/5
    • Fixed Ultra Ajax URLs so it uses site_url instead of home_url
      • this should mean if you install to a sub-folder that the correct relative URL is used
      • https://github.com/superspeedyplugins/issue-tracker/issues/2

    4.32 (15th November 2023)

    • Hot fix for new stock check code - was breaking product searches with ultra-ajax

    4.31 (15th November 2023)

    • Fixed relevancy
      • woo products search in a weird way
      • they first run their search which could match EVERYTHING in the db potentially
      • then they run a second search with all the ids from the first query
      • this all has been altered to a single efficient query for searches
      • searches ignore status/category etc
    • Fixed warnings in new woo product search

    4.30 (15th November 2023)

    • Added RELEVANCY to woo admin product search so ideal results are at the top
      • default woo orders by product id which is crazy talk

    4.29 (15th November 2023)

    • Fixed stock check code so it respects what you have configured in Super Speedy Filters
      • previously it was only obeying the Woo stock control and ignoring the URL parameters
    • Improved Woo Admin Product Search
      • now it only searches against our wp_superspeedysearch table rather than using the horribly slow new WooCommerce attribute lookup tables
      • if you search for a token < 3 characters, it will still be slower if this is your only search string
      • postmeta is searched based on what is enabled in the Meta tab in settings

    4.28 (10th November 2023)

    • Changed remote to github

    4.27 (9th November 2023)

    • Fixed upper/lowercase bug with synonymns, now it's case insensitive

    4.26 (31st October 2023)

    • Bug fix for taxonomy fulltext search through Ajax
    • Removed all deprecated warnings

    4.25 (25th October 2023)

    • Fixed bug in template_redirect which caused issues if WooCommerce was not installed
    • Fixed bug in synonyms if users had 'strict search' enabled
      • if synonyms found, strict search for user string is removed, e.g. "+token* synonym" becomes "token* synonym" otherwise the + prevents the synonym entries appearing
    • Fixed bug when searching for strings containing periods
      • full text search always treats . as a token limiter, so we must replace these with spaces
      • searching for x.abc is now equivalent to searching for "x abc"
    • Added exact search functionality
      • this still uses full search, e.g. "WordPress Optimisation Plugin" will be converted to +wordpress* +optimisation* +plugin* but an extra AND is added to the main query
      • this and performs a simple open-ended wildcard search which is allowed since the fulltext index search has already restricted the set of data, so this wildcard search applies to that subset of data
    • Ultra ajax compatibility with FIFU premium added
      • to activate, add define('SSS_ENABLE_FIFU_PREMIUM', true); to your wp-config.php

    4.24 (20th October 2023)

    • Added 2 hour transient cache for reading changelog files from our server
      • this will speed up wp-admin slightly and prevent the 403 forbidden error messages some have been getting when trying to run plugin updates

    4.23 (19th October 2023)

    • Added ?is_ultra_ajax_active=1 URL param check to show if must-use plugin is actually active
    • Added check on settings page that mu-plugin folder exists, it'll create it if it doesn't exist now

    4.22 (5th October 2023)

    • Added new Refresh Meta Keys List button to the Meta Search tab
      • this content gets saved as a transient for 12 hours to alleviate pressure on your server of rebuilding this list

    4.21 (29th September 2023)

    • Fix for Cwicly editor components functionality to be compatible (Cwicly use the search API)

    4.20 (28th September 2023)

    • Removed CREATE FULLTEXT INDEX super_speedy_meta_ft on wp_postmeta(meta_value) if SSS_SPLIT_META_SEARCH set to false

    4.19 (28th September 2023)

    • Improved speed of hyphen-based searches
      • previously hyphen searches were reverting to LIKE searches
      • now the fulltext search can be used with hyphens and is enabled by default
      • there are some restrictions to this - the fulltext parser in MySQL doesn't match hyphenated tokens if the initial part of the token is < 3 characters e.g. x-1 or xy-1, whereas xyz-1 would work
      • i.e. if users search for a hyphenated token which has an initial part with less than 3 characters, we cannot use a fulltext index search and so to maintain speed we switch to a wildcard search which only has a wildcard at the end
      • for example, searches for x-1 would search x-1% rather than %x-1%
      • this keeps speed fast, but it means if you have a product called "Phone x-1" that the match will not happen against the product name
      • in these cases, you can either add a meta field and configure it to be searched and place 'x-1' in that meta field, or you can set this constant SSS_SEARCH_SHORT_HYPHENS_FULLY to true and it will search for %x-1% instead of x-1%
      • note that open-ended wildcard searches like %x-1% cause full table scans
    • Improved speed of postmeta search
      • 2 queries previously run, first to search against wp_postmeta
      • previously these post IDs were included in the main query using an OR statement, but somehow this was slowing down the fulltext index search and causing a table scan (MySQL query optimizer not great!)
      • now, the main search is exclusively using the fulltext search, no OR statement, and the matches happen against the metavalues column
      • performance on 2 million product store improved from 5s to 0.02s when matches happen against postmeta (e.g. SKU search)
      • to revert this behaviour, define SSS_SPLIT_META_SEARCH as true in wp-config (see the defines.php file for more info)

    4.18 (21st September 2023)

    • Fixed bug in Ultra ajax which was causing page searches not to return
    • Fixed bug with CSS which was causing ajax section headers to hide

    4.17 (12th September 2023)

    • Updated updates system to match spro, ssf etc

    4.16 (23rd August 2023)

    • Added delete hook for table maintenance! Deleted items which were not first trashed were still appearing in search. (e.g. if you deleted through wp all import)
      • you may wish to run a table rebuild after this update

    4.15 (22nd August 2023)

    • Added new SSS_ENABLE_WP_OFFLOAD_MEDIA_FAST_AJAX definition
      • set this to true in your wp-config.php if you are using wp offload media and wish to use our ultra fast ajax
      • this is beta, not fully tested, looking for feedback

    4.14 (10th August 2023)

    • Hotfix for new updates system - if your server was configured to disable remote URL requests, a critical error was happening upon upgrade. This has been fixed with a warning message that you cannot check for updates.

    4.13 (4th August 2023)

    • Upgraded main settings page to show changes since last update
      • added update count to menu to help users notice
    • Added links to all plugin docs and support areas in the settings page

    4.12 Beta (26th July 2023)

    • Upgraded updates sytem so it uses JSON and gets zip file from license-key-checked URL

    4.11 (14th July 2023)

    • Fixed bug in Order search so that search for test_search will work
      • _ in search string was causing open wildcards to remain
    • Fixed bug with Search Suggestions header
      • header now correctly hides if no suggestions available
      • header also correctly hides if suggestions disabled but taxonomies enabled

    4.10 (7th July 2023)

    • Upgraded mu-plugin copy system
      • rather than just checking existence of mu-plugin at destination, it now compares version numbers
      • this will fix taxonomy search if you had started with 4.03 or less

    4.09 (7th July 2023)

    • Fixed bug in Woo Order search which was causing order search to fail if users had non wp_ table prefix
    • Added _sku search to Woo Order search so you can search for orders containing specific SKU products

    4.08 (6th July 2023)

    • Fix for repeat table rebuilds where fulltext index on wp_woocommerce_order_items was causing an error

    4.07 (6th July 2023)

    • SSS_SEARCH_VARIATIONS & SSS_ROLLUP_VARIATIONS defines.php options removed and moved into admin menu
      • at the bottom of the main tab you can now choose to 'search variations' and 'show variations'
      • with both of these disabled, only parent products will be searched (if searching products)
      • with both enabled, variations will be shown including their link to the parent product to auto select that variation - e.g. red dress will show the red image and link to the dress with red selected
      • with search variations enabled and show variations disabled, variation attributes and possibly meta (if you add the _variation_description meta key to be searched) will be searched but parent products will be shown
      • if you disable search variations but enable show variations then this does nothing really and it behaves like both are deselected
    • Fixed bug for those searching products who are not using SSF - ajax was working but not full page results
    • Fixed bug with search suggestions where a double space was causing the suggestions search to fail
    • Fixed text description of our Ultra-fast ajax in the settings page

    4.06 (30th June 2023)

    • Removed warnings and errors that were occurring on initial installations
    • Hardened the initial build
      • do not allow override of front-end forms until tables are built
      • ensure build does not encounter errors
      • Changed SET sql_mode='ALLOW_INVALID_DATES' to SET SESSION sql_mode='ALLOW_INVALID_DATES'
      • added checks for existing indexes to ensure no errors come back from wpdb
      • added checks all over for brand-new installs to ensure no errors reported to debug.log
      • added checks for new unsaved widgets to make sure these don't show errors
    • Fixed tab JS problem which was causing other Woo tabs to be deselected
    • Changed default for Ajax Date display to 'hide'
    • v4.06 uses a slightly updated table definition DB version 4.02

    4.05 (22nd June 2023)

    • Fixed taxonomy ajax search
      • this unfortunately has to use SLOW ajax since it needs access to taxonomy definitions which mean Woo + a bunch of other stuff must be loaded
      • it may be possible yet to make a faster version of this however which only loads what's required, for now it uses the REST API
    • Fixed duplicate id for focusable element ssstext
    • Fixed hyphenated search strings
      • hyphenated searches will unfortunately be a little slower
      • fixed empty searches which were causing db errors

    4.04 (19th June 2023)

    • Fixed fast ajax so it discovers variation price ranges

    4.03 (19th June 2023)

    • Fixed bug in edit-term action which was affecting those with non wp_ prefixes for the db name

    4.02 (9th June 2023)

    • Updated Woo Order search to fix Order Item search to use fulltext index
    • Added fix for variation rollup compatibility with SSF rollup/show single variations (beta feature)

    4.01 (22nd May 2023)

    • Fixed exclude_terms option from widget
    • Standardised restful interface, full tested, added list view in new fast ajax
    • Added currency symbol, decimal symbol, thousands symbol & currency position to fast ajax technique
    • Added client-side performance measurement for debug mode - fast ajax on local is 20ms vs 380ms for normal REST API
    • Fixed bug in SSS_ROLLUP_VARIATIONS which was breaking search when used with SSF
    • Removed Ajax widget panel from JS
      • this may get added back in later, but it's stupidly slow to have this for search
    • SSS_FAST_VISIBILITY_CHECK default changed to TRUE
      • you can still override this if you wish and go back to checking against the join to term_taxonomies etc
      • the table maintenance is perfect now, so you should never need to
      • in addition, the new must-use fast ajax plugin runs prior to the 'product-visibility' taxonomy being registered in the code, so WP_Query returns 0 products if product-visibility taxonomy is checked
      • i.e. we cannot run fast ajax and do anything with WP_Query relating to taxonomies since they are not yet registered
    • Added new fallback code for variation images
      • if you enable individual variations to be SHOWN, if they have no image, they will use their parents image
    • Fixed a bug when updating variation info - the meta _variation_description was not being updated to our superspeedysearch table due to a different hook being used by Woo when saving these versus when importing

    4.00 (17th May 2023)

    • Added full custom override of RESTful interface to deliver TRULY INSTANT ajax search results!
      • by default, SSS will now use the normal WP REST API, but you can upload a must-use plugin file to your must-use folder to get FAR faster ajax results

    3.39 (23rd March 2023)

    • Added new language template for en_gb
    • Removed use of TGM plugin activiation library

    3.38 (8th March 2023)

    • Fixed bug with exclude_terms option in the widget - was causing a critical error if user had upgraded from old pre-October 2022 widget!
    • Added new Synonyms beta tab to Settings
      • enter synonyms in CSV format, e.g. jerseys, jersey, pullovers, pullover, cardigan and if the user enters any of these words, the others will all be searched too
    • Weights improved significantly - title, content, excerpt, meta, taxonomy will all get a score if any of the words match, but will get doubled if all of the words match (based on whatever weight factor you enter in config)

    3.37 (7th March 2023)

    • Added fulltext usermeta search addition for users.php
    • Added new defines.php entry to support above
      • default: define('SSS_USERMETA_KEYS', '');
    • Added filter to eliminate open-ended wildcard searches on users
    • Added 2 new indexes on wp_users on user_nicename and user_email
    • Added user search override to additionally search user_nicename and user_email
    • Added fulltext index on wp_usermeta
    • Added new option to user interface to override user search

    3.36 (21st February 2023)

    • Fixed bug when editing/adding new media - wordpress uses a separate hook for these even though they are posts
    • Fixed bug with media search pagination if you had set a limit to the number of posts returned in the search results
    • Added additional query vars to prevent update_post_term_cache, update_menu_item_cache and update_post_meta_cache

    3.35 (26th January 2023)

    • Fixed JS error that was occuring on wp-admin pages
    • Changed to default to rebuild suggestions when rebuilding since this was causing some confusion
    • Fixed bug with Taxonomy Search - when Taxonomy search was enabled it was breaking other search too
    • Fixed bug with exclude_terms being missing/empty in widget for updated plugin, this caused fatal error on update to 3.33 if user had a widget enabled and first load somehow involved updating that widget

    3.34 (14th January 2023)

    • Added backtick quotes around table names for customer who has table prefixes starting with a number
    • Removed 5 token suggestion combo - it's never used and slows down the table build/rebuild massively

    3.33 (7th December 2022)

    • Added new filter to allow users to search additional postmeta fields from the Woo Product Admin screen
      • To search additional meta fields you'll need to add a filter to return an array of the keys you wish to search
      • You can find the KB article describing this here: https://www.wpintense.com/knowledgebase/how-to-add-extra-meta-fields-to-woo-product-admin-search/

    3.32 (18th November 2022)

    • Fix for bug with searching Woo Orders by order number when both Orders override and backend override were enabled

    3.31 (11th November 2022)

    • Fixed variations override which fixes meta search for variations - this should also fix variation rollups for affected configs

    3.30 (11th November 2022)

    • Further fix for meta search
      • I've reverted to using my own query param rather than post__in
      • This fixes the issue where in some configs post__in was being ANDed with the main search query meaning if the SKU didn't also exist in the text it would fail to match

    3.29 (8th November 2022)

    • Added missing query_vars required for exclude_terms URL parameters
      • I may upgrade this in future to allow some defaults to be set here so they don't need to be set in the URL, but for now they are per-widget

    3.28 (8th November 2022)

    • Fixed meta search bug that was being caused by switch to using post__in array - meta search now works properly
    • Fixed terms rebuild - this had been broken
    • Added per-taxonomy term_id exclusions to widget
    • Fixed term_id exclusions in both ajax and in full page results
    • Added option to search multiple post types on full page results - this will currently use the posts search template

    3.27 (5th November 2022)

    • Added new default post type option to widget & shortcode
    • Fixed post types in widgets so that they use the values specified in widget/shortcode
    • Added override code for suggestions, tax and widget panel to NOT run unless default empty [superspeedysearch] shortcode used (without override)
      • will in future add per-post type suggestions - currently suggestions, tax search and widget panel are global controlled and only available to one search box
    • Added exclude term_ids option to widgets - this actually relies on term_id = term_taxonomy_id and it does not handle children yet

    3.26 (1st November 2022)

    • Updated suggestions build to build only using post types listed in ajax panel - this list will become the accepted list of searchable post types and will be viewable from the full results page too soon (as opposed to requiring the 'see all' button per post type)

    3.25 (1st November 2022)

    • Fixed warning if no weights set for post type

    3.24 (26nd October 2022)

    • Fixed post_status override so it only runs if user searching for attachment, e.g. from media - this fixes order_id search
    • Upgraded meta search to use post__in which will allow other plugins which use this WP_Query var to work (e.g. show single variations plugin, although we have that functionality built in now and faster)

    3.23 (22nd October 2022)

    • Added extra check to SQL Build to remove empty queries and avoid DB errors for those cases

    3.22 (21st October 2022)

    • Fixed Smart variation search in Ajax search - if your search matches a product variation, this will now be shown in ajax just like in full search results

    3.21 (19th October 2022)

    • Implemented Smart variation search + rollup - two new defines.php options
      • if the search matches more than 1 item in the parent product, you will see the parent, otherwise you'll see the variation
      • this means if a user searches 'white dresses' they'll see an archive full of white items
      • SSS_SEARCH_VARIATIONS - defaults to true - whether to search variations as well as parent products for woocommerce searches
      • SSS_ROLLUP_VARIATIONS - defaults to true - whether to group search matches to the parent (true) or show individual variations (false)
    • Added new Misspellings & Synonyms taxonomy - a new tag-like meta-box now appears on all post types where you can enter misspellings and/or synonyms for the item
    • Fixed build job so that it creates the unique wp_options(option_name) index if it doesn't exist and then correctly UPSERTS the DB version number. This fixes the issue with DB version staying 0 for new users.
    • Added new pre_sss_meta_keys for massive websites - add a filter on this to return an array of meta_keys to show on the META KEYS tab and we will not scan wp_postmeta
    • Fixed product counting bug for variations when a filter was applied. SQL was joining to children twice which meant that it was behaving as if the filter was not applied.

    3.20 (17th October 2022)

    • Hardened pre_get_posts check since some themes incorrectly report is_search as true when there is no search string

    3.19 BETA (10th October 2022)

    • Altered JS back to use old way of Ajax until upgrade is complete so i can merge this code to core

    3.18 BETA (10th October 2022)

    • Improved weights to match mismatched titles far better - e.g. search padre hats against a product called padres hat will match better now
    • Added new wp-config define option define('SSS_ONLY_SEARCH_TITLE', false); - set this to true in wp-config.php if you want to force everything to only search the title. Should RARELY be used since it ruins searches based on plurals, e.g. Black Hat product, in the Hats category, with this enabled search for black hats will fail, only black hat would work.

    3.17 BETA (10th October 2022)

    • Added new ajax handler with two paths for nginx/apache

    3.16 (4th October 2022)

    • HotFix for searches with beta show single variations feature when using product_hidden flag

    3.15 (4th October 2022)

    • Fix for SKU search against child variations, now works correctly with both new SSF beta 'show single variations' and without that option enabled. Fix requires update for SSF too.

    3.14 (23rd September 2022)

    • Added fix for orphaned term data left over by deactivated WPML. This fixes taxonomy search in ajax and full page results on those sites.
    • Added priority fix for SEARCH RELEVANCY so that it overrides Scalability Pro

    3.13 (6th September 2022)

    • Added new SSS_FORCE_OPTIMIZE_IN_BUILD command for fixing broken builds - removing OPTIMIZE speeds up the initial SSS build massively
    • Fixed bug that was causing ORDER BY searches to break if WooCommerce was not installed.

    3.12 (6th September 2022)

    • Moved 3 of the defines.php variables into the settings page now that they are ready - back-end search speed boost, link builder filename search removal, link builder tag search removal
    • Added far more speed for the link builder search
    • Added far more speed for edit.php search - this is where you filter most of your post types (e.g. pages and posts and most custom post types)
    • Fixed a bug with edit.php where ordering by date was breaking
    • Fixed bug with DB error if you added postmeta items to be searched and then removed them

    3.11 (5th September 2022)

    • Version bump

    3.10 (5th September 2022)

    • Added new option to prevent slow post.php link builder tag search - set SSS_REMOVE_SLOW_LINK_TAG_SEARCH true in wp-config
    • Added new option to prevent slow post.php link builder media filename search - set SSS_REMOVE_SLOW_LINK_FILENAME_SEARCH true in wp-config

    3.09 (30th August 2022)

    • Added fix for table build for users with PerconaDB to avoid using the OPTIMIZE TABLE command since it does not work efficiently on InnoDB Percona

    3.08 (19th August 2022)

    • Fixed order item name search so that it will continue to use open-ended wildcard search - this table is always far smaller than wp_postmeta, but in future I should add a full text index to wp_woocommerce_order_items

    3.07 (18th August 2022)

    • Fixed stupid little bug where order search override only enabled if you also enabled woo admin product search override

    3.06 (18th August 2022)

    • Added new option to upgrade the wp-admin > WooCommerce > Order search and make it far faster
    • Fixed a couple of warnings that appear in debug.log on first install, prior to tables being built

    3.05 (9th August 2022)

    • Added supress_filters => false override when SSS is kicking in - this fixes an issue with the CLASSIC link builder speed which was suppressing our overrides

    3.04 (6th July 2022)

    • Added new defines option: SSS_OVERRIDE_ADMIN_SEARCHES - if you define this as true in wp-config, SSS will take control of media searches and other admin searches

    3.03 Beta (9th June 2022)

    • Fixed DB version issue for new installs where it was trying to upgrade the tables when they didn't exist yet

    3.02 Beta (1st June 2022)

    • Fixed warning issue for undefined variable sss_posts_search

    3.01 Beta (23rd May 2022)

    • Altered query filtering priorities to be compatible with latest Super Speedy Filters and updated Scalability Pro config

    3.00 Beta (12th May 2022)

    • Added term update/delete hooks to maintain superspeedysearch table if users edit term descriptions or term names
    • Added sss_rebuild_terms function to hooks

    2.99 Beta (12th May 2022)

    • Added new green light system for Super Speedy Search Readiness - will help new users check if everything is ready before enabling search
    • Added option to enable/disable suggestions on Ajax panel
    • Added option to enable/disable WooCommerce wp-admin > Products search for administrators

    2.98 Beta (10th May 2022)

    • Added missing content weight - to config, to actual query, to weight output for admins
    • Added missing taxonomy description - if you store author names in the taxonomy description, they are now searchable
    • Added DB Upgrade code - from anything prior to 2.98, a new index will be created on wp_superspeedysearch if the table exists

    2.97 Beta (10th May 2022)

    • Added ?showweights URL parameter - set this to 1 on the URL to view the weights on a search results page (only visible for administrators)
    • Fixed bug in title weights and other text-match weights - was doing BOOLEAN match which doesn't give score

    2.96 Beta (9th May 2022)

    • Fixed bug in sss_update_posts hooked onto wp_insert_post to properly update superspeedysearch if woocommerce not present!
    • Removed a couple of warnings that were firing when saving settings without any custom suggestions added

    2.95 Beta (5th May 2022)

    • Removed JS console logging (was logging keypresses, ajax calls etc for debug)

    2.94 Beta (5th May 2022)

    • Fixed background scheduling

    2.93 Beta (5th May 2022)

    • Hotfix for autosuggest

    2.92 Beta (4th May 2022)

    • JavaScript fix for 2.91 update to use standard ajax for post-types if override definition not entered

    2.91 Beta (4th May 2022)

    • Removed verbose logging to debug.log
    • Added new definition SSS_USE_FAST_SUGGESTIONS_AJAX - SSS will now default to using normal admin-ajax.php but if your server supports it, you can add this definition to wp-config.php for faster suggestions (set it true). Add define( 'SSS_USE_FAST_SUGGESTIONS_AJAX', true ); to wp-config.php if you can allow access to plugins/super-speedy-search/sss-fast-suggestion-ajax.php
    • Removed cancel build button after build successfully cancelled
    • Fixed bug in table build causing build to fail if WooCommerce not installed
    • Added new toggle option to settings to enable/disable overriding search results so users can compare speeds with and without super speedy search easily
    • Fixed minor CSS issue with search form container
    • Added new fast_ajax param that gets passed to all ajax calls, even the traditionally slow ajax calls - to take advantage of this, users need to alter wp-config.php and add the following code: if (isset($_REQUEST['fastajax']) && $_REQUEST['fastajax'] == 'true') { define('WP_USE_THEMES', false); }
    • Improved default weights for new users

    2.90 Beta (29th April 2022)

    • Reduced size of batch key for temp tables to avoid exceeding 64-character limit if users have larger table prefix

    2.89 Beta (28th April 2022)

    • Fixed removal of start building suggestions - if you manually start the build, only the cancel button will appear on admin pages

    2.88 Beta (27th April 2022)

    • Removed 'Start building suggestions' button after user clicks it to avoid people clicking multiple times

    2.87 Beta (20th April 2022)

    • Fixed error in admin ordering of ajax post types - wasn't displaying the relevant labels for each post type in the admin area

    2.86 Beta (20th April 2022)

    • Fixed broken weights after refactoring from 2.83

    2.85 Beta (20th April 2022)

    • Added cancel button to suggestions build - useful if build was stalled from hosts cancelling long-running queries and admin/user is running initial SQL manually

    2.84 Beta (18th April 2022)

    • Added sss_rebuild_terms function to rebuild wp_superspeedysearch_terms when terms are altered - fixes taxonomy search

    2.83 Beta (18th April 2022)

    • Added @twardys updated SALES flash styling - looks great!
    • Remove some of @marins css customisations as they were site-specific
    • Fixed initial load of first settings tab to hide the weights
    • Added new option for 'strict search' - reintroduces the +search +word modifier which forces the query to require all words - faster and more accurate results
    • Added default numitems of 5 for new users for ajax search result count
    • Added new function for admins doing imports which bypass do_action calls - if do_action bypassed, users need to call sss_update_posts($post_id) with a post_id or an array of post_ids

    2.82 Beta (18th April 2022)

    • Refactored sss.php to have better interoperability with super speedy filters
    • Removed unused files
    • Fixed meta fulltext search to only search relevant meta_keys
    • Removed some PHP warnings
    • Added static boost for matching meta values
    • Added taxonomy descriptions to ajax output

    2.81 Beta (3rd April 2022)

    • Added $post->ID to get_permalink call

    2.80 Beta (31st March 2022)

    • Added code to handle container polyfill
    • Then removed it because it's sluggish
    • We have 1 column, it can be overridden with very easy CSS

    2.79 Beta (30th March 2022)

    • Merged @Marins CSS edits to make results panel two columns
    • Fixed date weights from postmeta - if used, they were breaking relevance and things were in any order
    • Altered default weights to be more sensible to help @Daniel

    2.78 Beta (21st March 2022)

    • Fixed bug in widget panel toggle

    2.77 Beta (21st March 2022)

    • Removed + from fulltext searches which adds extra weaker results to pages which otherwise have no results
    • Altered JS code to run post-type searches after suggestions success rather than complete since we sometimes abort these - they weren't being aborted properly - reduces overall connections required
    • Added option to disable Ajax panel which reduces DB connections required
    • Altered JS to check if taxonomy query needs to run (if none selected, it does not need server call)
    • Added $wpdb->close() to fast-suggestion-ajax.php to ensure connections closed as early as possible rather than wait for regular garbage collection
    • Updated suggestions builder to improve contractions and keep tokens separated when they should be

    2.76 Beta (15th March 2022)

    • Updated wp_insert hook to also update 'pending' posts
    • Updated table build to properly use utf8mb4 AND avoid the MySQL bug related to fulltext indexes and virtual columns from here: https://bugs.mysql.com/bug.php?id=102833
    • Added new age-hours weight for admins who store dates in postmeta - users can reduce the score for older items

    2.75 Beta (9th March 2022)

    • Updated plugin updater to update directly from bitbucket, not from wpintense

    2.74 Beta (3rd March 2022)

    • Added review star ratings stylings for products in ajax panel (thanks to @twardy again!)

    2.73 Beta (25th February 2022)

    • Removed collation definitions from tables - will inherit the defaults - still to triple check if this is ok for Greek and other extended character set languages
    • Added Suggestions tab to settings page
    • Added option to configure minimum occurrences of a phrase in your documents before it will be considered as a search suggestion (default 2)
    • Added panel to add custom suggestions
    • Added panel to remove suggestions

    2.72 Beta (23rd February 2022)

    • Added new styling from @twardy - includes product prices, product categories(meta) and some other improvements

    2.71 Beta (22nd February 2022)

    • Fixed bug in table generation for per-post-type weights

    2.70 Beta (17th February 2022)

    • Altered weights to be per-post-type - allows different weights to be configured per post type

    2.69 Beta (16th February 2022)

    • Improved admin CSS for settings pages
    • Fixed Ajax Num Items config - it was stuck on 5 in front end
    • Fixed Button Position config so See All button in ajax panel can be placed top, bottom, or hidden
    • Re-added the missing search icon prefix to the See All button
    • Added extra JS to wipe the ajax panel contents when a user starts typing something new
    • Added an event handler to paste in case users right-click paste instead of keyboard shortcuts
    • Fixed weird bug where if you CUT what was in the searchbox and re-pasted it, nothing would happen. It now correctly produces the search results again.
    • Updated the z-index of the search form to 999 instead of 50000 so it goes BEHIND menus instead of staying on top!

    2.68 Beta (15th February 2022)

    • Made Ajax Post Types movable so users can choose order of post types in the ajax panel
    • Added missing index to table rebuild for admin product search
    • Added table maintenance of superspeedysearch table - no need for rebuild now
    • Increased min-height of super speedy search text box - recent CSS made it possible for this to look quite skinny and weird
    • Added SSS_REPLACE_HYPHENS define, default to true, makes SSS replace hyphens with spaces when searching
    • Added SSS_REMOVE_PLUSES define, default to true, makes SSS remove + symbol in search string. Fixes phone number searches.

    2.67 Beta (11th February 2022)

    • Fixed bug with merge which meant new panel div was not output
    • Minor update for rating and ON SALE flash in ajax panel

    2.66 Beta (11th February 2022)

    • Added @twardys new improved visuals for the ajax panel

    2.65 Beta (11th February 2022)

    • Fixed query error for search results with filters
    • Added ajax panel to Appearance > Widgets - it will run against the search string entered + the default post type chosen in the settings page

    2.64 Beta (10th February 2022)

    • Added config per post type for the Ajax search results panel

    2.63 Beta (9th February 2022)

    • Fixed bug with alpha table build - columns were in wrong order for insert!
    • Table build has not failed on any demo/dev sites now, looks stable
    • Fixed bug with Custom Meta Value weights not being used correctly

    2.62 ALPHA (9th February 2022)

    • Fixed CSS to make search box appear underneath Query Monitor admin interface

    2.61 ALPHA (8th February 2022)

    • Made all weights optional
    • Denormalised meta_value checks for weights into superspeedysearch table for improved performance
    • Added experimental option for a faster way to check product visibility - requires define( 'SSS_FAST_VISIBILITY_CHECK', true ); be added to wp-config.php

    2.60 BETA (2nd February 2022)

    • Added weights to options page and to results relevancy - many types of weights + custom weights

    2.59 BETA (1st February 2022)

    • Added tabs to settings page

    2.58 BETA (28st January 2022)

    • Improved rebuild jobs further - made them work on multisite!
    • Added DEFINE option to hide the ajax panel when the window scrolls: Add define( 'SSS_HIDE_AJAX_ON_SCROLL', true ); to wp-config.php if you want to test this
    • Fixed detection of fulltext index for main queries - in some cases LIKE operator was still being used!

    2.57 BETA (21st January 2022)

    • Added language file so users can use Loco Translate to alter pieces of text
    • Fixed keyboard control so users can go between suggestions and products and posts with up and down arrows

    2.56 BETA (20th January 2022)

    • Added term counts and a check to not suggest empty terms
    • Removed overlay
    • Added specific filter for porto
    • Grouped taxonomy suggestions and ordered by size
    • Fixed reset button to actually clear the box and hide the suggestions

    2.55 BETA (20th January 2022)

    • Added new table to handle fulltext search for wp_terms, wp_term_taxonomy and wp_termmeta - this improves taxonomy searches so that they are faster AND improved - e.g. searching for Author name Iain Banks will work the same as if you search Banks Iain
    • Added fulltext search for taxonomies to both ajax output and to full search results
    • Fixed ajax tax search so it actually takes into account the config of which taxonomies to search
    • Improved styling of taxonomy matches on full page search results
    • Removed limit on how many taxonomies to match in ajax panel

    2.54 ALPHA (19th January 2022)

    • Fixed bug with suggestions table build on non-wp_ prefixes including fixing suggestions on multisite
    • Added Super Speedy Search logo to bottom of ajax panel

    2.53 ALPHA (18th January 2022)

    • Further improvements to ajax panel styling

    2.52 ALPHA (14th January 2022)

    • Improved ajax panel styling
    • Added 2 columns by default to the search and tax suggestions
    • Added 4 columns by default to the post types search results

    2.51 ALPHA (13th January 2022)

    • Fixed priority ordering of Super Speedy Search CSS so that Customiser can override the styles

    2.50 BETA (6th January 2022)

    • Added override search form and override product search form options to help with theme integration
    • Added ajax item display template option - grid or list, default grid
    • Re-arranged settings page to keep items together better

    2.49-3 ALPHA (5th January 2022)

    • Overhauled the batch process system to be ultra reliant
    • Added localisation for 'Search Suggestions' text

    2.49-2 ALPHA (4th January 2022)

    • Fixed warning about searchorder index being missing
    • Made batch process more resilient

    2.49-1 ALPHA (4th January 2022)

    • Fixed detection of fulltext indexes to check properly against superspeedysearch table
    • Fixed bug in generating tables with certain GROUPBY configs of mysql
    • Fixed bug in generating tables with no taxonomies selected

    2.48 BETA (29th December 2021)

    • Switched to using named columns for suggestions table build - found customer who had extra columns defined on their wp_posts table which was breaking my suggestions build

    2.47 BETA (17th December 2021)

    • Hardened plugin update checker so it doesn't crash if WPI not available

    2.46 BETA (15th December 2021)

    • Fixed CSS for search form to have light border

    2.45 BETA (15th December 2021)

    • Added additional default search form override so this works by default out the box for most themes

    2.44 BETA (15th November 2021)

    • Fixed SSS_WP_Background_Process class (third party library) to be object cache compatible - it runs smoothly now with object cache on
    • Added taxonomy search suggestions to ajax
    • Added SSS_STOP_WORDS define - users can define this to overrule the stop words by adding define('SSS_STOP_WORDS', 'space separated stop words'); to wp-config.php - this will move out of define in future into admin panel

    2.43 BETA (10th November 2021)

    • Made SSS_WP_Background_Process unique name since it's slightly modified to work better with object caches

    2.42 BETA (10th November 2021)

    • Table build improved to have better defaults - users can click the button immediately to get search suggestions built and super speedy search working
    • Still some admin issues in this: Maintenance of suggestions and main table not happening, progress bar never disappears, progress bar affects styling of wp-admin

    2.41 BETA (8th November 2021)

    • Added suggestions - includes a big table build which currently works only when the object cache is switched off - I've still to fix this third party library so it works properly with the object cache (they mix reading options data through functions and directly from tables)
    • This release is a BIG one - the table build takes about an hour on foundthru, but it results in instant as-you-type search suggestions

    2.40 BETA (3rd September 2021)

    • Added new wp_superspeedysearch table - this copies posts + space-separated values from wp_terms.name and wp_term_taxonomy.description - this allows fulltext searches like 'dior dress' where both 'dior' and 'dress' are in the wp_terms.name column

    2.39 BETA (3rd September 2021)

    • Altered taxonomy search to search tax description and tax meta too. Note: Not yet optimised! There's not often a lot of data in wp_termmeta, but if you do this might not be fast yet.

    2.38 BETA (3rd September 2021)

    • Refactored post_status code

    2.37 BETA (3rd September 2021)

    • Changed used of strlen(token) < 3 to mb_strlen(token) < 3 - fixes issue with searching in WPML for items with 2 character search strings
    • Improved ESC handler to close results, added extra code to close popped out search form on porto
    • Added extra posts_per_page setting to allow users to configure full search results count as well as how many posts per ajax grouping to fetch

    2.36 BETA (1st September 2021)

    • Fixed WPML compatibility - this includes a bug that was causing products to return in the ajax results posts section. All fixed now.
    • Search accuracy improved and results more relevant
    • Removed some debug messages

    2.35 BETA (31st August 2021)

    • Fixed search button text in widget and shortcode - if you set searchbutton text, the button will have that text, if you leave the text empty it will use our search icon
    • Added override for Order search to change it from LIKE '%searchstring%' to LIKE 'searchstring%' which allows full use of the index from scalability pro

    2.34 BETA (30th August 2021)

    • Fixed sorting by date override
    • Improved relevancy significantly so searched titles are at the top (needs a new index to be created)
    • Fixed bug causing items with stop words in their title being excluded from the results
    • Fixed bug causing private items to be hidden from All search in wp-admin

    2.33 BETA (20th August 2021)

    • Added get_search_form override for Woodmart search replacement (and other themes)
    • Added FontAwesome font-face for search icon, loaded locally with webfont

    2.32 BETA (19th August 2021)

    • Fixed warning for missing setting for taxonomy deepsearch on fresh installations
    • Added better output info for failure to create fulltext indexes

    2.31 BETA (5th August 2021)

    • Removed rewriting of page title when typing - no one liked it

    2.30 BETA (30th July 2021)

    • Removed warnings from widget
    • Removed excess logging

    2.29 BETA (27th July 2021)

    • Added translation for search button title
    • Fixed the orderby clause so we only override for RELEVANCE if no other orderby is specified

    2.28 BETA (27th July 2021)

    • Added code to avoid overruling the orderby and order settings if $_GET['orderby'] is set - check with Marin if this fixes things in his theme

    2.27 BETA (27th July 2021)

    • Added CSS for font-awesome icons and to fix square images
    • Altered code to try and grab the shop_catalog thumbnail for the items rather than the fullsize images, falls back to thumbnail - includes a placeholder image now too (easily alterable using CSS)
    • Improved CSS for the ajax results to be more visually appealing

    2.26 BETA (26th July 2021)

    • Removed old excess JS that was causing JS error on woo archive pages

    2.25 BETA (22nd July 2021)

    • Added _e around customizable $searchplaceholder - for those using multiple languages
    • Added See All link into post type headers in Ajax search results
    • Improved search results URL to only include the post_type and not the additional ajax_post_types parameters
    • Added default post type option to settings which controls which template is used and what to search when user hits ENTER or taps the search icon
    • Improved visual results of taxonomy searches displayed above WooCommerce products (for now, taxonomy searches appear in Ajax panel and WooCommerce products but search continues to work across all post types)

    2.24 BETA (16th July 2021)

    • Fixed bug introduced in 2.23 which had fixed search RESULTS but broke AJAX inline results when multiple post types selected

    2.23 BETA (16th July 2021)

    • Fixed post_type in search form to include post_type[] since it is an array - fixes search result pages for multiple post types, so all post types are searched

    2.22 BETA (16th July 2021)

    • Fixed shortcode so that it respects the post_types you pass - this allows you to overrule the global post_types settings for each search widget you create
    • Added per-post type sections to ajax search results - so you'll see 'posts' then 'products' then whatever other post types you chose in your shortcode (or global setting if you dont set a post type in the shortcode)
    • Added minimum 3 character limit for ajax search to save server resources
    • Fixed out of stock so both ajax and full results properly respect whatever you have configured in WooCommerce
    • Added extra section to per-post type sections for just top level categories without search parameter applied - this is for the tax name search
    • Added Ajax results per post type option to allow control of num results per post type in the ajax panel
    • Added option to remove Ajax excerpt so users don't need to edit template files for this alteration

    2.21 BETA (6th July 2021)

    • Fixed CSS issue with ajax response headers

    2.20 BETA (6th July 2021)

    • Fixed ajax search results to honour the taxonomy settings - will search each taxonomy for matching items and show the link to a search within that taxonomy
    • Removed the need for translations in the Ajax search results
    • Changed taxonomies to labels, and moved the search string into the taxonomy header in ajax search results

    2.19 BETA (6th July 2021)

    • Refactored search to be completely compatible with WPML and Polylang, no longer reconstructing the query and it's still lightning fast
    • Re-Added date search and posts per page
    • Removed author search options as it was really 'user' search - may reintroduce later in a different way - perhaps in search results template listing matching author links to view all their articles
    • Removed order by option - it orders by relevance only - the others are not fast enough yet to have the WPI brand on them
    • Improved relevance sorting

    2.18 BETA (2nd July 2021)

    • Added term_relationships join for WPML and Polylang when they're present

    2.17 BETA (2nd July 2021)

    • Added additional porto-theme-specific code to handle sticky headers, search pop out etc
    • Changed GO to search icon from font-awesome
    • Improved styling of ajax results panel in various ways
    • Added input focus handler to show results panel when input box is refocused so users see their previous search
    • Changed top category matches (showing counts of all items in that cat) to display as labels - makes the search panel a little more interesting at the bottom
    • Fixed container to use 100% of width to work inside whatever panel developers add the widget/shortcode to

    2.16 BETA (1st July 2021)

    • Added ajax dropdown onto the SHORTCODE ONLY at this point - the widget currently still updates the WooCommerce archive if there is one
    • Added template system for ajax dropdown results
    • Added full functionality for this, but no options to configure it yet - options are all hardcoded - dropdown contains image, title, categories, excerpt and if it's a product it also contains the flash (on sale, featured), rating and price
    • Added second list in ajax dropdown containing matching taxonomies and the counts of items matched - clicking this takes you to, for example, /dogs/?s=dog+bed

    2.15 BETA (9th June 2021)

    • Improved searches containing word separators like ./+-\
    • Fixed searches with double quotes "

    2.14 BETA (9th June 2021)

    • Changed top 100 to top 1000
    • Hardened search with LIKE operator against the reduced result set - particularly important for words containing periods like 2.5" or 3.5" etc
    • Hard coded in WORD DISTANCE booster to the score - if words are close together (closer than 5) then that row gets a score boost
    • Hard coded in TITLE LENGTH reduction to the score - this makes pages with smaller title lengths more relevant because otherwise the relevancy score prefers titles that mention words more than once - e.g. HDD CASE, Takes any HDD Drive - HDD mentioned twice so gets higher score normally than 2.5" HDD
    • Hard coded in IN STOCK score booster - obviously only relevant to products, but will not break other non-product searches with other post types

    2.13 BETA (24th May 2021)

    • Perf update - wrap union in ()s and select top 100 from each pre-union

    2.12 BETA (28th April 2021)

    • Refactored how this works, made it simpler to maintain
    • Rewrote how postmeta queries work - they've been altered to use a UNION instead of a LEFT JOIN. FAR faster now.
    • Updated functions to make integration with FWW far faster
    • NOTE: This Beta version includes missing functionality - taxonomy searches will do nothing and it will only ever order by relevance, not by date.
      • i altered the query using alter_query filter - would be better to alter the query using the SEARCH filter and perform an IN statement to restrict the posts

    2.11 (6th April 2021)

    • Added a filter for wp-admin woo product search to use fulltext indexes, if they are created

    2.10 (6th April 2021)

    • Improved speed of meta search queries
    • Improved relevance of all queries - best results at the top
    • Added special case for "phrase-matching" when hyphens exist in the token
    • Fixed bug in non-fulltext meta search - it now respects CONTAINS, STARTSWITH or ENDSWITH depending on what you set in the settings page

    2.09 (22nd October 2020)

    • Fixed bug with non-full text search which was causing searches to only search LIKE 'xxx%' rather than LIKE '%xxx%'

    2.08 (30th September 2020)

    • Added new WPI Settings page where users can enter their license key to enable plugin updates

    2.07 (2nd September 2020)

    • Removed superfluous plugin links on wp-admin -> plugins page
    • Altered wp_postmeta SQL to use nested IN rather than WHERE EXISTS - this improved speed AND fixed the related bug with FWW

    2.06 (15th July 2020)

    • Fixed bug in multisite detection so that fulltext search will work properly in networked sites
    • Fixed issue with shortcode when restricting results to specific taxonomies, this was causing WP_Query to add AND (0 = 1)

    2.05 (24th June 2020)

    • Added tax and taxslugs parameters to superspeedysearch shortcode - if you use [superspeedysearch tax="product_cat" taxslugs="dogs"] then this search box will restrict the searches to the product category dogs only

    2.04 (23rd June 2020)

    • Re-added ajax capability to widget (ajax still only works for WooCommerce archives)
    • Removed unused fields from widget
    • Fixed broken 'spinner' when ajax searching
    • Fixed post_type URL parameter so search result template will be picked up properly
    • Added wildcard searching on fulltext indexes by default - very little perf difference, so on by default as it IS expected behaviour by most people
    • Cleaned up JS a bit, removing unused variables and URL parameters to make search results page cleaner
    • Removed keyup ajax detection when enter key hit - this allows user to hit enter to actually go to fresh new page if they wish, rather than just the ajaxed page

    2.03 Beta (22nd June 2020)

    • Added multisite compatibility
    • Added cache to settings page so 2nd+ visits on same day will be fast (it's slow to look up all the possible meta fields)

    2.02 Beta (26th May 2020)

    • Fixed empty result sets when using tokens < 3 characters (will improve further to allow this to be configurable if you alter minimum token size in mysql config)

    2.01 Beta (22nd April 2020)

    • Added automatic inclusion of subchildren of taxonomies. If user searches for Dresses, it will match products within Dresses->Formalwear rather than just at ->Dresses

    2.00 Beta (16th April 2020)

    • Complete overhaul of settings page to allow full config over what to search
    • Search posts, custom posts, taxonomies, or attributes
    • Reduced 3 fulltext indexes to 1 to save space (user needs to click button to create the required fulltext index after config)
    • Improved accuracy of search by using token1+ token2+ to require both tokens but any spacing apart in the searched index
    • Improved speed of fulltext search - now on foundthru (800,000 products) the fulltext search takes about 100 milliseconds https://foundthru.com/?s=harry+potter&post_type=product
    • Search has been made fully compatible with latest beta of Faster Woo Widgets so it's easy to drill down on search results - e.g. https://foundthru.com/?s=harry+potter&post_type=product shows toys, books and games
    • Product counts in Faster Woo Widgets sidebar now reflect the Super Speedy Search results
    • Added check against in-stock products according to WooCommerce config
    • Added options for users to use standard LIKE operator (definitely not recommended!)

    1.27 (7th August 2019)

    • Fixed activation issue causing index to not be created!

    1.26 (25th June 2019)

    • Fixed warning notice when changing settings for widget in wp-admin -> Appearance

    1.25 (4th March 2019)

    • Added new fulltext index to wp_postmeta - currently used in orders search
    • Removed meta_tag list on settings page - was too slow

    1.24 (6th October 2018)

    • Hotfix to fix search adding products to empty archive page (including pagination, so scrolling and pagination will work)

    1.23 (6th October 2018)

    • Improved code so it never replaces the text box in the sidebar (was happening in some themes), so now you can keep typing with ajax
    • Increased the time to wait for user to stop typing to 200ms to reduce load on server
    • Improved compatibility with auto infinite scroll
    • Fixed issue where ajax stopped working if a search returned 0 products and then user continued typing - now ajax works instead of page refreshing to new page
    • Fixed issue where products were disappearing sometimes
    • Fixed issue where text box was not remaining populated in the widget on page refresh
    • Fixed issue where if a search returned only 1 item, woocommerce was preventing it appearing in the ajax search results
    • Added available meta_fields to settings page as a convenience so it's easier to build your list of searchable meta data

    1.22 (24th May 2018)

    • Added full wildcard option for users who need to search attributes
    • Re-added ajax search option (now working properly)

    1.21 (23rd January 2018)

    • Fixed deactivation error that would occur if user had not created fulltext index somehow

    1.20 (17th January 2018)

    • Added superspeedysearch shortcode
    • Added extra info to settings page to explain meta_keys (_sku most common)
    • Added JS to strip leading # for users using that to search SKUs

    1.19 (4th January 2018)

    • Removed unused shortcode option
    • Removed 'search as you type' - was causing too many bugs - will re-introduce along with auto-complete - i.e. for slow typers, we'll guess what they're typing, auto-complete and auto-search. Otherwise empty results appear and the search box clears.
    • Altered default search to 'best relevance' (even when widget not used)
    • Added 2 new sorting options - sort by recent items and sort by relevance + date weight
    • Added settings page to allow non-widget search to be configured
    • Added option to disable ajax and send userst to normal search results page

    1.18 (22nd December 2017)

    • Fixed bug preventing proper use of search templates when more than one post_type searched
    • Fixed bug when widget used on page which contained 'related products' but no actual products archive (was filling the related products instead of the archive)
    • Added 'relevancy' sort ordering to admin page and back end search results - now users can choose to order by a variety of relevancy scores

    1.17 (30th November 2017)

    • Added JS trigger event after Super Speedy Search complete called super-speedy-search-complete - useful for other developers who implement things like lazy load in their themes so that their code can run after super speedy search has updated the page
    • Added search placeholder text option for customisation and internationalisation
    • Added search button text option too
    • Added option to allow searching of wp_postmeta - admin can choose meta_keys to search

    1.16

    • Improved speed when user hits ENTER (instead of waiting 450ms after keypress)
    • Fixed widget on non-archive pages, now search redirects to traditional search results pages
  • Super Speedy Plugins
    Logo