A fast and flexible search and query engine for WordPress.
GPL-2.0 License
Bot releases are visible (Hide)
Published by felipeelia over 2 years ago
This is a bug fix release.
title
attribute. Props @burhandodhy and @JakePT via #2814.npm run build:zip
to use git archive
. Props @felipeelia via #2822.See: https://github.com/10up/ElasticPress/milestone/65?closed=1
Published by felipeelia over 2 years ago
ElasticPress 4.2.0 fixes some bugs and introduces some new and exciting changes.
The sync functionality had its JavaScript refactored. Timeouts, memory limits, and general errors are now properly handled and do not make the sync get stuck when performed via the WP-CLI index
command. There is also a new get-last-sync
WP-CLI command to check the errors and numbers from the last sync.
We've improved the admin search experience for sites using both WooCommerce and Protected Content. Previously, WooCommerce was processing that screen with two different queries, and EP was used only in one of them. Now, it will be only one query, fully handled by ElasticPress. Users wanting to keep the previous behavior can do so by adding add_filter( 'ep_woocommerce_integrate_admin_products_list', '__return_false' );
to their website's codebase.
Facets are now available through a WordPress block. If you are using the Full Site Editing feature, you can now add ElasticPress Facets to your theme with just a few clicks! This block has been introduced with a simplified user interface to enable compatibility with Full Site Editing and will continue to be iterated and improved in future versions of the plugin.
$post_args
and $post_id
to the ep_pc_skip_post_content_cleanup
filter. Props @felipeelia and @ecaron via #2728.ep_integrate_search_queries
. Props @rebeccahum and @felipeelia via #2735.get-last-sync
WP-CLI command. Props @felipeelia via #2748._variations_skus
field to WooCommerce products. Props @felipeelia, @kallehauge, and @lukaspawlik via #2763.user_registered
and lowercase id
. Props @felipeelia and @burhandodhy via #2781.ep_sync_number_of_errors_stored
. Props @felipeelia, @tott and @JakePT via #2789.ElasticPress\Feature\Facets\Widget::get_facet_term_html()
in favor of ElasticPress\Feature\Facets\Renderer::get_facet_term_html()
. Props @felipeelia via #2712.@wordpress/components
and @wordpress/date
. Props @JakePT and @felipeelia via #2774.$return
parameter in Feature\RelatedPosts::find_related()
. Props @felipeelia and @altendorfme via #2719.--network-wide
only syncs the main site. Props @felipeelia and @colegeissinger via #2771.get-mapping
, get-indexes
, status
, and stats
only uses all sites' indices name when network activated. Props @felipeelia and @colegeissinger via #2771.moment
from 2.29.1 to 2.29.2. Props @dependabot via #2709.@wordpress/env
from 4.4.0 to 4.5.0. Props @felipeelia via #2721.See: https://github.com/10up/ElasticPress/milestone/63?closed=1
Published by felipeelia over 2 years ago
npm run build:zip
. Props @felipeelia via #2669.generate_mapping()
to post and comment indexables. Props @rebeccahum via #2637.get_related_query()
to the RelatedPosts
class. Props @ayebare via #1653.--pretty
flag to the WP-CLI commands that output a JSON. Props @felipeelia and @oscarssanchez via #2653.aggs
parameter of WP_Query
. Props @felipeelia and @oscarssanchez via #2682.get_index_names()
. Props @sun via #2580.FILTER_SANITIZE_STRING
. Props @sjinks via #2529.get_term_tree()
no longer infinite loops when parent ID is non-existent. Props @rebeccahum via #2687.'enabled'
field's attribute while using the ep_weighting_configuration_for_search
filter. Props @felipeelia and @moritzlang via #2673.node-forge
from 1.2.1 to 1.3.0. Props @dependabot via #2678. @wordpress/env
from 4.2.2 to 4.4.0, and minimist
from 1.2.5 to 1.2.6. Props @felipeelia via #2680.See: https://github.com/10up/ElasticPress/milestone/62?closed=1
Published by felipeelia over 2 years ago
This is a security release affecting users running ElasticPress 4.0 with both the WooCommerce and Protected Content Features activated. Please update to the latest version of ElasticPress if the WooCommerce and Protected Content features are activated and you're using ElasticPress 4.0.
See: https://github.com/10up/ElasticPress/milestone/61?closed=1
Published by felipeelia over 2 years ago
ElasticPress 4.0 contains some important changes. Make sure to read these highlights before upgrading:
Min | Max | |
---|---|---|
Elasticsearch | 5.2 | 7.10 |
WordPress | 5.6+ | latest |
PHP | 7.0+ | latest |
Note that ElasticPress 4.0.0 release removes built assets from the develop
branch, replaced master
with trunk
, added a ZIP with the plugin and its built assets in the GitHub Releases page, and included a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to trunk
or to GitHub Releases depending on whether you require built assets or not. (See changes in #2622.)
The Facets widget is not currently available within Full Site Editing mode.
This changelog contains all changes made since 3.6.6 (including Beta 1.)
ep_load_search_weighting
to disable search weighting engine. Props @rebeccahum and @felipeelia via #2522.get_total_objects_for_query_from_db()
if any object limit IDs are passed in. Props @rebeccahum via #2586.ep_pc_skip_post_content_cleanup
can be used to skip that removal.) Props @rebeccahum, @oscarssanchez, @felipeelia, @dinhtungdu, @cristianuibar, and @allan23, @mallorydxw via #2408 and #2646.ep_integrate
argument in WP_Query to accept 0
and 'false'
as valid negative values. Props @oscarssanchez, @Rahmon, and @felipeelia via #2547 and #2573.orderby
parameter. Props @felipeelia and @beazuadmin via #2577.ep_filter
, changeable via the new ep_facet_filter_name
filter. Props @oscarssanchez, @felipeelia, and @slaxxarn via #2560.tax_query
value. Props @felipeelia and @sathyapulse via #2419.search
parameter also to be used by ElasticPress queries. Props @felipeelia, @dianfishekqi, and @oscarssanchez via #2620.jsdoc
from 3.6.9 to 3.6.10 and fixed the documentation of the ep_thumbnail_image_size
filter. Props @felipeelia via #2639.case 'description':
from ElasticPress\Indexable\Term\Term::parse_orderby
. Props @sjinks via #2533.tax_query
terms resulting in a query failure. Props @rinatkhaziev and @felipeelia via #2576 and #2583.stop-indexing
command. Props @Rahmon, @felipeelia, and @brandwaffle via #2549.epwr_decay
and epwr_weight
hooks. Props @edwinsiebel via #2537.upper-limit-object-id
and lower-limit-object-id
parameters in WP-CLI command. Props @felipeelia via #2634.10up-toolkit
from 1.0.13 to 3.0.1, jsdoc
from 3.6.7 to 3.6.9, terser-webpack-plugin
from 5.2.4 to 5.3.0, @wordpress/env
from 4.1.1 to 4.2.2, and promise-polyfill
from 8.2.0 to 8.2.1. Props @felipeelia via #2559, #2611, and #2631.follow-redirects
from 1.14.7 to 1.14.9. Props @dependabot via #2609.See: https://github.com/10up/ElasticPress/milestone/58?closed=1
Published by felipeelia almost 3 years ago
ElasticPress 4.0 Beta 1 is now available for non-production testing.
Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop
branch, will replace master
with trunk
, will add a zip with the plugin and its built assets in the GitHub release page, and will include a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to trunk
or to GitHub releases depending on whether you require built assets or not.
Supported versions:
Current (3.6.6) | 4.0.0 | |
---|---|---|
Elasticsearch | 5.0 - 7.9 | 5.2 - 7.10 |
WordPress | 3.7.1+ | 5.6+ |
PHP | 5.6+ | 7.0+ |
request
subcommand. Props @joehoyle and @felipeelia via #2484 and #2523.See: https://github.com/10up/ElasticPress/milestone/60?closed=1
Published by felipeelia almost 3 years ago
This software is still in development, so it is not recommended to run this version on a production site.
This version requires a full reindex.
Please note that 4.0 introduces a new search algorithm that may change the order of results displayed on your site. Additionally, this algorithm may be changed again during the beta process before a final 4.0 release algorithm is determined. Your feedback on this new algorithm is welcome via the Github issues list.
New minimum versions are:
Min | Max | |
---|---|---|
Elasticsearch | 5.2 | 7.10 |
WordPress | 5.6+ | latest |
PHP | 7.0+ | latest |
Note that the official ElasticPress 4.0.0 release will replace master
with trunk
. Built assets were already removed from the branch and added to the zip file attached to the GitHub release page. As such, please plan to update any references you have from master
to trunk
or to GitHub releases depending on whether you require built assets or not.
request
subcommand. Props @joehoyle and @felipeelia via #2484.See: https://github.com/10up/ElasticPress/milestone/52?closed=1
Published by felipeelia almost 3 years ago
Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop
branch, will replace master
with trunk
, will add a zip with the plugin and its built assets in the GitHub release page, and will include a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to trunk
or to GitHub releases depending on whether you require built assets or not.
Supported versions:
Current (3.6.5) | 4.0.0 | |
---|---|---|
Elasticsearch | 5.0 - 7.9 | 5.2 - 7.10 |
WordPress | 3.7.1+ | 5.6+ |
PHP | 5.6+ | 7.0+ |
ep_weighting_default_enabled_taxonomies
filter. Props @felipeelia and @tott via #2474.$blog_id
and $indexable_slug
parameters to the ep_keep_index
filter. Props @felipeelia and @brandwaffle via #2478.$type
parameter to ep_do_intercept_request
filter. Props @rebeccahum and @felipeelia via #2443.get_mapping
calls in all admin requests. Props @felipeelia via #2445.admin.min.js
file was split in notice.min.js
and weighting.min.js
, being loaded accordingly. Props @felipeelia and @barryceelen via #2476.ep_wpcli_sync_interrupted
transient from remote to allow for more reliable remote interruption. Props @rinatkhaziev and @rebeccahum via #2433.path-parse
from 1.0.6 to 1.0.7. Props @dependabot via #2458.10up-toolkit
from 1.0.12 to 1.0.13. Props @felipeelia via #2467.See: https://github.com/10up/ElasticPress/milestone/57?closed=1
Published by felipeelia almost 3 years ago
Note that the upcoming ElasticPress 4.0.0 release will remove built assets from the develop
branch, will replace master
with trunk
, will build a stable release version including built assets into a stable
branch, and will include a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to either stable
or trunk
depending on whether you require built assets or not.
Official PHP support is currently 5.6+. Minimum PHP version for ElasticPress 4.0.0 will be 7.0+.
get-mapping
command. Props @tfrommen, @felipeelia, and @Rahmon via #2414.ep_query_request_args
and ep_pre_request_args
. Props @felipeelia via #2416.ewp_word_delimiter
base filter: changed from word_delimiter
to word_delimiter_graph
. Props @pschoffer and @yolih via #2409.See: https://github.com/10up/ElasticPress/milestone/56?closed=1
Published by felipeelia about 3 years ago
Note that the upcoming ElasticPress 3.7.0 release will remove built assets from the develop
branch, will replace master
with trunk
, will build a stable release version including built assets into a stable
branch, and will include a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to either stable
or trunk
depending on whether you require built assets or not.
Official PHP support is currently 5.6+. Minimum PHP version for ElasticPress 3.7.0 will be 7.0+.
ep_facet_widget_term_html
and ep_facet_widget_term_label
filters to the Facet widget for filtering the HTML and label of individual facet terms. Props @JakePT, @Rahmon, and @felipeelia via #2363.ep_set_sort
filter for changing the sort
clause of the ES query if orderby
is not set in WP_Query. Props @rebeccahum and @felipeelia via #2343 and #2364.E_WARNING
s. Props @pschoffer via #2340.Search::integrate_search_queries()
when is_integrated_request
. Props @adiloztaser via #2355.WP_Term_Query
and parent = 0
. Props @felipeelia and @juansanchezfernandes via #2344.10up-toolkit
from 1.0.11 to 1.0.12, terser-webpack-plugin
from 5.1.4 to 5.2.4, @wordpress/api-fetch
from 3.21.5 to 3.23.1, and @wordpress/i18n
from 3.18.0 to 3.20.0. Props @felipeelia via #2372.See: https://github.com/10up/ElasticPress/milestone/55?closed=1
Published by felipeelia about 3 years ago
Note that the upcoming ElasticPress 3.7.0 release will remove built assets from the develop
branch, will replace master
with trunk
, will build a stable release version including built assets into a stable
branch, and will include a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to either stable
or trunk
depending on whether you require built assets or not.
This version bumps official PHP support from 5.3+ to 5.6+. Minimum PHP version for ElasticPress 3.7.0 will be 7.0+.
ep_default_analyzer_filters
filter to adjust default analyzer filters. Props @pschoffer and @felipeelia via #2282.title
and aria-labels
attributes to each icon hyperlink in the header toolbar. Props @claytoncollie and @felipeelia via #2304.Utils\is_integrated_request()
function to centralize checks for admin, AJAX, and REST API requests. Props @JakePT, @felipeelia, @brandwaffle, @moritzlang, and @lkraav via #2267.10up-toolkit
to build assets. Props @Rahmon, @felipeelia, and @nicholasio via #2279.10up/eslint-config/react
. Props @Rahmon via #2306.edgeNGram
to edge_ngram
. Props @pschoffer and @rinatkhaziev via #2315.path
from dynamic_templates
. Props @pschoffer via #2315.stats
and status
commands in a multisite scenario. Props @Rahmon, @felipeelia, and @dustinrue via #2290.path-parse
from 1.0.6 to 1.0.7. Props @dependabot via #2302.See: https://github.com/10up/ElasticPress/milestone/54?closed=1
Published by felipeelia over 3 years ago
Note that the upcoming ElasticPress 3.7.0 release will remove built assets from the develop
branch, will replace master
with trunk
, will build a stable release version including built assets into a stable
branch, and will include a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to either stable
or trunk
depending on whether you require built assets or not.
This version requires a full reindex. The new facet
field introduced in 3.6.0
requires a change in the mapping, otherwise, all content sync related to posts will silently fail. If you've upgraded to 3.6.0 and didn't resync your content yet (via Dashboard or with WP-CLI wp elasticpress index --setup
) make sure to do so.
ep_remote_request_add_ep_user_agent
. Passing true
to that, the ElasticPress version will be added to the User-Agent header in the request. Props @felipeelia via #2264
3.6.0
as version that needs a full reindex. Props @adiloztaser and @felipeelia via #2264
See: https://github.com/10up/ElasticPress/pulls?q=is%3Apr+milestone%3A3.6.1+is%3Aclosed+
Published by felipeelia over 3 years ago
Note that the upcoming ElasticPress 3.7.0 release will remove built assets from the develop
branch, will replace master
with trunk
, will build a stable release version including built assets into a stable
branch, and will include a build script should you want to build assets from a branch. As such, please plan to update any references you have from master
to either stable
or trunk
depending on whether you require built assets or not.
[name="post_type"]
input in the same form. Before it would bring all post types. Props @mustafauysal and @JakePT via #1689
<input type="checkbox">
elements in option links with a custom .ep-checkbox presentational
div. Props @MediaMaquina, @amesplant, @JakePT, and @oscarssanchez via #1886
ep_facet_allowed_query_args
filter. Props @mustafauysal, @JakePT,@Rahmon, and @felipeelia via #1689
ep_facet_use_field
filter. Props @moraleida via #2071
ep_autosuggest_default_selectors
filter. Props @JakePT and @johnbillion via #2181
--upper-limit-object-id
and --lower-limit-object-id
. Props @WPprodigy, @Rahmon, and @felipeelia via #2171
Elasticsearch::get_documents()
and Indexable::multi_get()
. Props @nickdaugherty, @felipeelia, and @Rahmon via #2210
facet
field to hold the entire term object in json format. Props @moraleida via #2071
category__not_in
and tag__not_in
. Props @oscarssanchez and @felipeelia via #2174
post__name_in
. Props @jayhill90 and @oscarssanchez via #2194
$indexable_slug
property to ElasticPress\Indexable\Post\SyncManager
. Props @edwinsiebel via #2196
ep_show_indexing_option_on_multisite
filter. Props @johnbillion and @Rahmon via #2156
window.epAutosuggestItemHTMLFilter()
function in JavaScript. Props @JakePT via #2146
Indexable\Post\Post::prepare_date_terms()
to only call date_i18n()
once. Props @WPprodigy and @Rahmon via #2214
posts_by_query
property and spl_object_hash
calls. Props @danielbachhuber and @Rahmon via #2158
index_name
is transformed in lowercase before the index creation in Elasticsearch. Props @teoteo and @felipeelia via #2173
post_mime_type
argument. Props @ethanclevenger91 and @Rahmon via #2222
Undefined variable: closed
notice in Elasticsearch::update_index_settings()
. Props @nickdaugherty and @pschoffer via #2159
*-feature
commands. Props @felipeelia via #2164
current_user_can()
call now receives the post ID instead of the whole object. Props @Sysix via #2255
See: https://github.com/10up/ElasticPress/pulls?q=is%3Apr+milestone%3A3.6.0+is%3Aclosed+
Published by brandwaffle over 3 years ago
This release fixes some bugs and also adds some new actions and filters.
Security Fix:
Bug Fixes:
Enhancements:
ep_autosuggest_http_headers
. Props @Rahmon
ep_highlight_should_add_clause
to let developers decide where the highlight clause should be added to the ES query. Props @felipeelia
epwr_weight
and changed the default way scores are applied based on post date. Props @Rahmon
See: https://github.com/10up/ElasticPress/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A3.5.6+is%3Aclosed+
Published by brandwaffle over 3 years ago
This release fixes some bugs and also adds some new actions and filters.
Bug Fixes:
Enhancements:
is-loading
class to the search form while autosuggestions are loading. Props @JakePT
set-algorithm-version
and get-algorithm-version
WP-CLI commands. Props @felipeelia
ep_query_weighting_fields
filter. Props @felipeelia and @tott
ep_formatted_args_query
filter. Props @felipeelia and @tott
set-algorithm-version
and get-algorithm-version
WP-CLI commands. Props @felipeelia
Theme Integration
. Props @JakePT
ep_wp_cli_after_index
, ep_after_dashboard_index
, ep_cli_before_set_search_algorithm_version
, ep_cli_after_set_search_algorithm_version
, ep_cli_before_clear_index
, ep_after_update_feature
, and ep_cli_after_clear_index
. Props @felipeelia and @Rahmon
Published by brandwaffle over 3 years ago
This is primarily a security and bug fix release. PLEASE NOTE that versions 3.5.2 and 3.5.3 contain a vulnerability that allows a user to bypass the nonce check associated with re-sending the unaltered default search query to ElasticPress.io that is used for providing Autosuggest queries. If you are running version 3.5.2. or 3.5.3 please upgrade to 3.5.4 immediately.
Security Fix:
Bug Fixes:
from
parameter in $formatted_args
to an integer to prevent errors if empty. Props @CyberCyclone
Enhancements:
ep_is_facetable
filter to enable custom control over where to show or hide Facets. Props [@moraleida]Published by brandwaffle almost 4 years ago
Version 3.5.2 is a bug fix release with minor additions to functionality, largely in the form of new hooks and filters. You can read more about these changes below.
Bug Fixes:
get_terms()
. Props @ciprianimike
Enhancements:
ep_after_bulk_index
), in event of an invalid Elasticsearch response (ep_invalid_response
), and before object deletion (ep_delete_{indexable slug}
); added filters ep_skip_post_meta_sync
, pre_ep_index_sync_queue
, ep_facet_taxonomies_size
, epwr_decay_function
, and epwr_score_mode
. Props @brandon-m-skinner
ep_filesystem_args
filter. Props @pjohanneson
search_fields
. Props @felipeelia
author__in
and author__not_in
queries. Props @dinhtungdu
ep_query_send_ep_search_term_header
filter and don’t send EP-Search-Term
header if not using ElasticPress.io. Props @felipeelia
Published by tlovett1 almost 4 years ago
Version 3.5 is a very exciting release as it contains two major new features: a synonym dashboard and search term result highlighting. The synonym dashboard empowerers users to create synonym lists for searches. For example. searching "New York City" would return contain with "NYC". Search term highlighting will underline and add a CSS class to keywords within content that matches the current search.
The new version also includes a revamp of the search algorithm. This is a backwards compatibility break. If you'd like to revert to the old search algorithm, you can use the following code: add_filter( 'ep_search_algorithm_version', '3.4' );
. The new algorithm offers much more relevant search results and removes fuzziness which results in mostly unwanted results for most people. If you are hooking in and modifying the search query directly, it's possible this code might break and you might need to tweak it.
Bug fixes:
Enhancements:
Published by tlovett1 about 4 years ago