ElasticPress boosts performance and speed, making your WordPress site faster and more efficient. Say goodbye to slow loading times and hello to happier users and administrators.
Autosuggest GA tracking to work when ad blocks are enabled. The dataLayer.push() call now pushes a custom event called ep_autosuggest_click with ep_autosuggest_search_term and ep_autosuggest_clicked_url as custom parameters. Props @felipeelia and @anjulahettige.
Delay load_plugin_textdomain to init and set a Domain Path. Props @felipeelia.
Only display the Exclude From Search checkbox if the post type supports custom-fields. Props @felipeelia and @maartenhunink.
JS error when submit button is clicked without selecting a date. Props @burhandodhy.
Deprecated warnings for margin style. Props @burhandodhy.
Security:
Bumped composer/composer from 2.7.0 to 2.7.8. Props @dependabot.
Bumped symfony/process from 6.4.8 to 6.4.14. Props @dependabot.
Status report page when indexable post types is an empty array. Props @furai.
5.1.0 – 2024-04-29
Added:
[Filters] New ep_facet_enabled_in_editor filter to enabled facet blocks in the post editor. Props @JiveDig and @felipeelia.
Official support to Elasticsearch 8.x. Props @felipeelia.
A new Sync errors tab, with errors grouped by type and links to support documentation when available. Props @JakePT and @apurvrdx1.
[WooCommerce] HPOS compatibility notice for WooCommerce Orders. Props @felipeelia.
[Synonyms] A new settings screen with the the ability to bulk delete synonyms, support for many-to-many replacements, and a new type of synonym for terms with a hierarchical relationship, called hyponyms. Props @JakePT and @apurvrdx1.
Infinite loop when using excerpt highlighting with posts that use blocks that print an excerpt. Props @felipeelia and @JakePT.
Context parameter to the get_capability() function. Props @felipeelia and @selim13.
A tooltip for meta keys to the weighting screen to allow seeing the full key if it has been truncated. Props @JakePT.
New ep_weighting_options filter to modify the weighting dashboard options. Props @burhandodhy.
New ep_post_test_meta_value filter. Props @felipeelia.
New message related to indices limits on ElasticPress.io. Props @felipeelia.
Changed:
Acknowledge all Elasticsearch modules, making the Documents feature available in ES 8 installations by default. Props @felipeelia, @Serverfox, and @jerasokcm.
[Documents] Index CSV and TXT file contents. Props @felipeelia.
[Documents] Only set documents-related parameters if no post type was set or if the list already contains attachments. Props @felipeelia.
Automatically open the error log when a sync completes with errors. Props @JakePT and @felipeelia.
Aggregations created with the ‘aggs’ WP_Query parameter, are now retrievable using $query->query_vars['ep_aggregations']. Props @felipeelia.
Major refactor of the Term::format_args() method and conditionally set search fields for term queries in REST API requests. Props @felipeelia and @mgurtzweiler.
Replaced lee-dohm/no-response with actions/stale to help with closing no-response/stale issues. Props @jeffpaul.
Bumped actions/upload-artifact from v3 to v4. Props @iamdharmesh.
[Instant Results] A default post type filter set by a field in the search form was cleared if a new search term was entered. Props @JakePT and @burhandodhy.
Inconsistent search results when calling the same function via PHP and Ajax. Props @burhandodhy.
ElasticPress 5.0.0 contains some important changes. Make sure to read these highlights before upgrading:
This version does not require a full reindex but it is recommended, especially for websites using synonyms containing spaces.
Meta keys are not indexed by default anymore. The new Weighting Dashboard allows admin users to mark meta fields as indexables. The new ep_prepare_meta_allowed_keys filter allows to add meta keys programmatically.
Features now have their fields declared in JSON. Custom features may need to implement the set_settings_schema() method to work.
The Users feature was moved to the ElasticPress Labs plugin and is no longer available in this plugin. If you use this feature, make sure to install and configure EP Labs before upgrading.
The Terms and Comments features are now hidden by default for sites that do not have them active yet. Check our blog post for more info.
The IndexHelper::get_last_index method was replaced by IndexHelper::get_last_sync.
The FailedQueries::maybe_suggest_solution_for_es method was replaced by ElasticsearchErrorInterpreter::maybe_suggest_solution_for_es.
Weighting::render_settings_section, Weighting::handle_save, Weighting::redirect, and Weighting::save_weighting_configuration were deprecated in favor of React components.
Removed:
Users-related files from the main plugin. Props @felipeelia.
Removed mapping files related to older versions of Elasticsearch. Props @MARQAS.
Fixed:
Docblock for the ep_facet_renderer_class filter. Props @misfist.
GitHub action to automatically open a new issue when a new version of WordPress is released. Props @felipeelia.
Removed:
Unnecessary aliases in use statements. Props @felipeelia.
Fixed:
Calls to ep_woocommerce_default_supported_post_types were ignored. Props @felipeelia and @MARQAS.
WooCommerce Orders search field disappearing when Orders Autosuggest receives an unexpected response from ElasticPress.io. Props @JakePT and @anjulahettige.
Call composer while building docs. Props @felipeelia.
Make sure post__not_in and post_status are translated into arrays, not objects. Props @felipeelia.
Docblock for Utilsget_option return type. Props @felipeelia.
Docblock for ep_capability and ep_network_capability filters. Props @burhandodhy.
PHP warning related to the Autosuggest template generation. Props @felipeelia.
WooCommerce unit tests running multiple times. Props @felipeelia.
Display the meta range facet block in versions prior to WP 6.1. Props @felipeelia and @MARQAS.
Number of expected arguments for add_attachment and edit_attachment. Props @burhandodhy.
Error while running composer install on PHP 8. Props @burhandodhy.
Security:
Bumped composer/composer from 2.5.8 to 2.6.4. Props @dependabot.
4.7.1 – 2023-08-31
Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.
Added:
Synonyms and weighting settings added to the status report. Props @felipeelia.
Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.
Added:
Exclude Media Attachments from search results. Props @burhandodhy.
New Default to Site Language option in the language dropdown in ElasticPress’ settings page. Props @felipeelia.
Compatibility with block themes for the Facet meta blocks. Props @felipeelia.
Integrate Did You Mean feature in the Instant Results. Props @burhandodhy and @JakePT.
All blocks now support styling features in themes that support them. Props @JakePT.
Descriptions and keywords have been added to all blocks. Props @JakePT.
New ep_stop filter, that changes the stop words used according to the language set. Props @felipeelia.
New get-index-settings WP-CLI command. Props @felipeelia.
New ep_facet_tax_special_slug_taxonomies filter. Props @oscarssanchez.
New --stop-on-error flag to the sync command. Props @oscarssanchez.
In a multisite, if a site is indexable or not is now stored in site meta, instead of a blog option. Props @felipeelia.
Autosuggest authenticated requests are not cached anymore and are only sent during the sync process or when the weighting dashboard is saved. Props @felipeelia and @kovshenin.
Autosuggest::delete_cached_query() was deprecated without a replacement. See #3566.
EP_Uninstaller::delete_related_posts_transients() and EP_Uninstaller::delete_total_fields_limit_transients() was merged into EP_Uninstaller::delete_transients_by_name. See #3548.
The ep_woocommerce_default_supported_post_types filter was split into ep_woocommerce_orders_supported_post_types and ep_woocommerce_products_supported_post_types. See #3502.
The ep_woocommerce_supported_taxonomies filter is now ep_woocommerce_products_supported_taxonomies. See #3502.
All old WooCommerceOrders methods were migrated to the new WooCommerceOrdersAutosuggest class. See #3502.
The Elasticsearch::clear_total_fields_limit_cache() method was replaced by Elasticsearch::clear_index_settings_cache(). See #3552.
Several methods that were previously part of the WooCommerceWooCommerce class were moved to the new WooCommerceProduct class. See #3502.
Several methods that were specific to Facet types were moved to the new Block and Renderer abstract classes. See #3499.
Sync media item when attaching or detaching media. Props @MARQAS and @felipeelia.
Display “Loading results” instead of “0 results” on first search using Instant Results. Props @oscarssanchez and @JakePT.
Highlighting returning inaccurate post title when partial/no term match on Instant Results. Props @oscarssanchez, @JakePT, and @tomi10up.
Warning in Orders Autosuggest: "Creation of dynamic property $search_template is deprecated". Props @burhandodhy.
Warning while using PHP 8.1+: Deprecated: version_compare(): Passing null to parameter #1 ($version1) of type string is deprecated. Props @felipeelia and @burhandodhy.
Warning in the metadata range facet renderer: Undefined array key "is_preview". Props @felipeelia and @burhandodhy.
Security:
Bumped word-wrap from 1.2.3 to 1.2.4. Props @dependabot.
Bumped tough-cookie from 4.1.2 to 4.1.3 and @cypress/request from 2.88.10 to 2.88.12. Props @dependabot.
4.6.1 – 2023-07-05
Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.
Added:
Add doc url for “Did You Mean” feature. Props @burhandodhy.
Changed:
Use wp_cache_supports over wp_cache_supports_group_flush. Props @spacedmonkey.
Update the ep_exclude_from_search post meta only if it is set or has some value. Props @MARQAS and @columbian-chris.
Fixed:
Deprecation notice in ElasticPressFeatureWooCommerceOrders. Props @mwidmann.
Don’t apply a facet filter to the query if the filter value is empty. Props @burhandodhy.
Order by clauses with Elasticsearch field formats are not changed anymore. Props @felipeelia and @tlovett1.
Failed Query logs are automatically cleared on refreshing the “Status Report” page. Props @burhandodhy.
Warning message on Health page when Last Sync information is not available. Props @burhandodhy.
Deprecation notice: json_encode(): Passing null to parameter #2. Props @burhandodhy.
Documentation of the ep_facet_search_get_terms_args filter. Props @burhandodhy.
4.6.0 – 2023-06-13
Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.
Fatal error related to the maybe_process_error_limit function. Props @burhandodhy.
Display the error message returned by Elasticsearch if a mapping operation fails. Props @felipeelia via #3464.
Negative menu_order values being transformed into positive numbers. Props @felipeelia and @navidabdi.
Password protected content being indexed upon save when Protected Content is not active. Props @felipeelia and @burhandodhy.
Error message when the Elasticsearch server is not available during the put mapping operation. Props @felipeelia.
4.5.2 – 2023-04-19
Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.
Added:
New ep_enable_query_integration_during_indexing filter. Props @rebeccahum.
Changed:
Automated message sent in GitHub issues after 3 days of inactivity. Props @felipeelia and @brandwaffle.
Fixed:
Authenticated requests for autosuggest were not being properly cached while using external object cache. Props @felipeelia.
4.5.1 – 2023-04-11
Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.
Added:
New ep_instant_results_args_schema filter for filtering Instant Results arguments schema. Props @JakePT.
New ep.Autosuggest.navigateCallback JS filter for changing the behavior of a clicked element on Autosuggest. Props @oscarssanchez, @felipeelia, and @JakePT.
New ep.Autosuggest.fetchOptions JS filter for filtering Elasticsearch fetch configuration of Autosuggest. Props @tlovett1, @MARQAS, and @felipeelia.
Code linting before pushing to the repository. Props @felipeelia.
Unit tests for the Status Reports feature. Props @burhandodhy.
Changed:
Meta field facets now only filter based on fields selected on blocks. The new ep_facet_should_check_if_allowed filter reverts this behavior. Props @felipeelia and @burhandodhy.
Fixed:
Instant Results crashing when using taxonomies as facets that are attached to both searchable and non-searchable post types. Props @JakePT.
Fatal error during plugin uninstall. Props @felipeelia.
Compatibility issue which prevented Instant Results from working in WordPress 6.2. Props @JakePT.
Fatal error while syncing on older versions of WordPress. Props @felipeelia, @TorlockC.
Facets removing taxonomy parameters in the URL when not using pretty permalinks. Props @MARQAS and @felipeelia.
Bumped webpack from 5.75.0 to 5.76.3. Props @dependabot.
4.5.0 – 2023-03-09
Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code. Check our blog post for more info.
Description for the --network-wide flag in WP-CLI commands. Props @MARQAS.
New is_available() helper method in the Feature class. Props @burhandodhy.
Changed:
Indices of disabled features will be deleted during a full sync. Mappings of needed but non-existent indices will be added even during a regular sync. Props @felipeelia.
Reduced number of WooCommerce product queries automatically integrated with ElasticPress. Props @burhandodhy and @felipeelia.
The number of results per page in Instant Results now matches the site’s posts per page setting. Props @JakePT.
Under the hood improvements to the structure of Instant Results. Props @JakePT.
Apply the “Exclude from Search” filter directly on ES Query. Props @burhandodhy.
Avoid using Elasticsearch if query has an unsupported orderby clause. Props @burhandodhy.
Undefined index 'elasticpress' in the Status Report page. Props @MARQAS.
Undefined array key 'displayCount' error for facet. Props @burhandodhy.
Warnings on the feature setup page. Props @burhandodhy.
Security:
Bumped http-cache-semantics from 4.1.0 to 4.1.1. Props @dependabot.
Bumped got from 9.6.0 to 11.8.5 and simple-bin-help from 1.7.7 to 1.8.0. Props @dependabot.
Bumped simple-git from 3.15.1 to 3.16.0. Props @dependabot.
Bumped json5 from 1.0.1 to 1.0.2. Props @dependabot.
4.4.1 – 2023-01-10
Note that starting from the ElasticPress 5.0.0 release the Users feature will be moved to the ElasticPress Labs plugin. The Terms and Comments features will remain in ElasticPress but will be available only if enabled via code.
This plugin is solid and very easy to set up.
It also integrates very well with custom code and the search functionality can be easily extended or customised.
WPEngine couldn't even do it and they tried on chat every conceivable way
We both gave up - shame really but super frustrating you have no way of easily getting in touch
One of the most powerful plugins for scaling Wordpress
Definitely helps speed up the Wordpress search. It is at par with many other premium plugins out there. Highly appreciate and recommend this one.
Also great support.
Look people, you need to set up elasticSEARCH on your server first, or use a paid service. This plugin (elasticPRESS) works as advertised and it's clear that some ignorant people are penalizing this plugin for the difficulties inherent in setting up the server, and/or they don't know how to add custom code snippets here and there.
Two thumbs way up from me.
ElasticPress improved the search really great and has some very nice additional features like querying posts in a Multisite installation from a different Blog.
You can host your own Elasticsearch server and its doesn't have any impact on the functionality of this plugin. You don't need to pay for the 10up hosted instances.
Onion code, full of layers and difficult to maintain, nothing objective in case I need to add anything customized, they worked to make a paginated query in elasticsearch so complex! If you need a different widget than the existing ones, it is quicker to start developing a new plugin than trying to modify it.
Its Promoting Their own server. Our Local server even work smooth, its ignore and misguide us to use their paid server. I have running my localhost fine but its always say that there issue in connecting. :)
It works well with aws elasticsearch!
It's still a simple setup, so I'll have to try it out, but it's still working fine.
I didn't use EP hosting because I didn't even use woocommerce store,
but I'd love to try EP hosting later!