ElasticPress 5.0 Released


ElasticPress 5.0 was released today, and contains several improvements! We also have a couple of potentially breaking changes that you’ll want to test out on your staging site if you’re using those features already.

New features and improvements

Check some highlights of ElasticPress 5.0. For a detailed list of all changes, check our release page on GitHub.

Sync page

The new Sync page has the same options from the WP-CLI command like post types, range of IDs, or Indexables. It also displays your sync history: information related to the last 5 syncs performed on your website. We also moved to a REST API approach, replacing the old WordPress AJAX endpoint.

Weighting dashboard

In previous versions, all your metadata that did not start with a _ was automatically synced, often leading to errors related to field limits being reached. Starting from EP 5.0, if you need to index any specific metadata, you can add it via the Weighting Dashboard. No code required!

If for some reason you need to revert it to the old behavior, you can add this snippet to your codebase:

add_filter( 'ep_meta_mode', function () { return 'auto'; } );

Also, the Weighting dashboard (and Synonyms!) are now available on multisite installations.

Features page

The Features page received a major UI update. Now you can change several features at once, and if they require a sync you can save your settings and apply them later by clicking on “Save and sync later”.

Date filter

ElasticPress’ available filters collection received a new addition: the new Date Filter lists your content based on a time range selected by your user.

What you need to know before upgrading to ElasticPress 5.0

Users feature moved to ElasticPress Labs

If you are using the Users feature, make sure you install or upgrade to ElasticPress Labs 2.2.0 before upgrading to ElasticPress 5.0. As said in the latest versions’ changelogs, the feature was removed from the main plugin.

WordPress and PHP compatible versions

ElasticPress now requires PHP 7.4 or newer and WordPress 6.0 or newer. Although we did not change the minimum required version of Elasticsearch, we’ve removed the maximum compatible version of our documentation.

Feature settings now declared in JavaScript Object Notation (JSON)

If you have a custom Feature, you may need to implement the set_settings_schema() method, copying the fields from output_feature_box_settings() as a JSON object. Our new React interface will render the fields for you.

A sync is not required but is recommended

Although not required, we recommend you run a full sync (Delete all data and sync), so you can use the new analyzers we introduced in this version. Search results shouldn’t be affected but this fixes an old problem with synonyms containing spaces.

If you find any bugs or have any ideas for enhancements, please let us know in our GitHub repository. If you like the plugin leave us a review, and if you don’t have an Elasticsearch hosting yet, check out our plans!