All notable changes to this project will be documented in this file, per the Keep a Changelog standard.
This is a bug fix release.
Bug Fixes:
- Fixed a typo in elasticpress.pot. Props @alexwoollam
- Don’t use timestamps that cause 5 digit years. Props @brandon-m-skinner
- Fix admin notice on the Synonyms page. Props @Rahmon
- Properly update slider numbers while sliding. Props @Rahmon
- Properly handle error from
get_terms()
. Props @ciprianimike - Fix incorrect titles page. Props @Rahmon
- Fix linting tests. Props @felipeelia
- Fix issue with price filter unsetting previous query. Props @oscarssanchez
Enhancements:
- Added actions that fire after bulk indexing (
ep_after_bulk_index
), in event of an invalid Elasticsearch response (ep_invalid_response
), and before object deletion (ep_delete_{indexable slug}
); added filtersep_skip_post_meta_sync
,pre_ep_index_sync_queue
,ep_facet_taxonomies_size
,epwr_decay_function
,and epwr_score_mode
. Props @brandon-m-skinner - Added
ep_filesystem_args
filter. Props @pjohanneson - Add SKU field to Weighting Engine if WooCommerce is active and fix issue with overriding
search_fields
. Props @felipeelia - Support
author__in
andauthor__not_in
queries. Props @dinhtungdu - Update multiple unit tests. Props @petenelson
- Show CLI indexing status in EP dashboard. Props @Rahmon
- Add
ep_query_send_ep_search_term_header
filter and don’t sendEP-Search-Term
header if not using ElasticPress.io. Props @felipeelia
A bug fix release.
Bug fixes:
- Fixes highlighting so that full content is returned instead of only snippets.
- Fix empty synonym bug.
- Only highlight post content, excerpt, and title.
Enhancements:
- Track CLI index in a headless fashion
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', function() { return '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:
- Fix default autosuggest selector.
- Fix facet feature $_GET parameter naming collision.
- Autosuggest a11y fixes. Props amesplant.
- Check $feature type before calling Feature methods. Props pdewouters.
- Ensure trashed post is removed from Elasticsearch. Props edwinsiebel.
- Add default permission callback to REST routes. Props dkotter.
- Hide links to weighting and synonym dashboard if network activated. Props felipeelia.
- Only sync post on allow listed post meta. Props felipeelia.
- Check if site is indexable before syncing in network activated mode.
- Fix facet widget and 3-level deep hierarchical taxonomy. Props dinhtungdu.
- Make sure AJAX sync is disabled if EP_DASHBOARD is set to false.. Props turtlepod.
Enhancements:
- Synonym dashboard. Props christianc1.
- Search term highlighting. Props oscarsanchez.
- Search algorithm improvements.
- Improved WP Acceptance tests. Props asharirfan.
- Rename ElasticPress submenu to "Features". Props helen.
- Add functionality for skipping ElasticPress install.
- Increase max supported Elasticsearch version to 7.9.
- Add filter to prepared user meta data. Props g-kanoufi.
- Improve Terms Feature terminology to remove confusion.
- Add filter to facet terms query arguments. Props felipeelia.
3.4.3 - 2020-07-21
Enhancements:
- Remove jQuery from front end JavaScript dependencies.
Bug Fixes:
- Fix accessibility bug on autosuggest.
- Fix broken facet search.
3.4.2 - 2020-06-17
Bug fixes:
- uninstall.php: Change the EP_FILE const to its value. Props felipeelia.
- Fix list features WP CLI command. Props felipeelia.
- Add
rel="nofollow"
to facet links. Props mlaroy. - Facets widget: Move
<div>
outsideob_start()
. Props kallehauge. - Load facet scripts and styles only when they are really necessary. Props goaround.
- Index attachments with Protected Content and query for them in media search. Props oscarsanchez.
- Fixed
Deprecated field [include] used, expected [includes] instead.
. Props dinhtungdu.
Enhancements:
- Add filter for enabling sticky posts. Props shadyvb.
- Add sync kill filter. Props barryceelen.
- Add timeout filters for bulk_index and index_document. Props @oscarsanchez.
3.4.1 - 2020-3-31
- Make weighting dashboard flex containers to prevent the slider from changing size. Props @mlaroy.
- Fix issue where weightings wouldn't save properly for certain post types. Props mustafauysal.
- Fix bug where terms wouldn't finish syncing in certain scenarios.
- Properly order WooCommerce products using double to account for decimals. Props @oscarsanchez.
- Show current indices in index health dashboard. Props moraleida.
3.4.0 - 2020-03-03
- Addition of Terms Indexable and Feature. ElasticPress can now integrate with
WP_Term_Query
. Props dkotter. - Fixes for
WP_User_Query
'fields' parameter. Props petenelson. - Support all taxonomies in root of
WP_Query
- Readd
ep_retrieve_aggregations
hook for backwards compatibility - Move indexable posts class registration into a function that runs in the
plugins_loaded
action. Props petenelson. - Fix author name in weighting and use post_author.display_name for weighted author field search. Props petenelson.
- Add
ep_prepared_*_meta
filters - Refactor CLI indexing code for simplicity.
- Limit indexed Protected Content post types removing
revision
,oembed_cache
,custom_css
,user_request
,customize_changeset
, andwp_block
. - Cast taxonomy slug to array in case it's already an array in
WP_Query
. - Remove unnecessary usage of
--network-wide
CLI paramter. - Add name, nickname, and display name to fields used for user search.
- Add
clear-transient
WP CLI command. - Don't make product categories facetable when WooCommerce feature is not active. Props mustafauysal.
3.3.0 - 2018-12-18
- Officially support Elasticsearch 7.5
- Add optional Google Analytics Autosuggest tracking Event
- Fix single node warning before sync has occurred.
- When
ep_integrate
is set to false, do not apply faceting. - Fix search ordering error when there are no pointers.
- Add filter
ep_get_hits_from_query
to modify retrieved Elasticsearch hits. - Make sure
post_type
array does not include keys. Fixes a bbPress issue. - Pass query object to EP response so we can check for main query. This fixes a faceting bug.
- Add EP-Search-Term header to autosuggest requests to EP.io
- Clean up indexing transient on sigkill
3.2.6 - 2019-11-27
- Fix Under some edge conditions content for autosuggest can be large - don't cache it
3.2.5 - 2019-11-20
- Fix WP <5.0 fatal error on register_block_type.
3.2.4 - 2019-11-19
- Fix Gutenberg block initialization
- Fix Autosuggest: remove filter with proper priority in query generation. Props Maxdw.
- Fix Autosuggest: returning WP_Error for non object cache autosuggest queries causes issue. Fallback to transient
3.2.3 - 2019-11-13
- Ensure query building for Autosuggest does not fallback to WPDB.
3.2.2 - 2019-11-05
- Fix PHPCS errors. Props mmcachran
- Fix ensuring stats are built prior to requesting information
- Fix related post block enqueue block assets on the frontend
- Fix custom order results change webpack config for externals:lodash
- Fix don't overwrite search fields
- Autosuggest queries generated though PHP instead of JavaScript
- Add WP Acceptance tests
- Add new WP-CLI commands: get_indexes and get_cluster_indexes
3.2.1 - 2019-10-14
- Fix Gutenberg breaking issue with Related Posts and image blocks. Props adamsilverstein
3.2.0 - 2019-10-08
- Improve block asset enqueueing: hook on
enqueue_block_editor_assets
. Props adamsilverstein. - Handle empty search weighting fields bug.
- Integrate WooCommerce default filter by price widget with ES range query.
- Improve messaging for custom result post type.
- Index health page.
- Add tag_in and tag__and support.
- Related posts Gutenberg block.
- Facet widget ordering option. Props psorensen.
- Control Index-ability of individual sites in multisite.
- Integrate WooCommerce default filter by price widget with ES range query.
See https://github.com/10up/ElasticPress/pulls?utf8=%E2%9C%93&q=is%3Apr+milestone%3A3.2.0+is%3Aclosed+
3.1.1 - 2019-07-25
- Ensure taxonomies that are shared among multiple post types show up on the weighting screen
3.1.0 - 2019-07-22
- Support for nested tax queries. Props @dkotter
ep_bulk_index_action_args
filter. Props @fabianmarz- Add filters to control MLT related posts params.
ep_allow_post_content_filtered_index
filter to bypass filtered post content on indexing.- Weighting dashboard to control weights of specific fields on a per post type basis
- Search ordering feature. Enables custom results for specific search queries.
- Refactor admin notice, admin screen "resolver", and install path logic
- WordPress.org profile
- New EP settings interface. Props @dkoo
- Delete pagination from facet URL.
- allows WooCommerce product attributes to be facetable in 3.0
- Autosuggest queries now match the search queries performed by WordPress, including weighting and any custom results
- Fix data escaping in WP 4.8.x
- Support order by "type"/"post_type" in EP queries
- Properly redirect after network sync
- User mapping for pre 5.0 Props @mustafauysal
- Avoid multiple reflows in autosuggest. Props @fabianmarz
- 400 error when popularity is default sorting.
- Fixed Facet widget not rendering WC product attribute options. Props @fabianmarz
- Delete wpcli sync option/transient when an error occurs
- Create index/network alias when adding a new site on a network activated installation. Props @elliott-stocks
- Fix WooCommerce order search when WooCommerce module activated but protected content turned off.
3.0.3 - 2019-06-04
- Pass $post_id twice in ep_post_sync_kill for backwards compatibility. Props @aaemnnosttv
ep_search_request_path
filter for backwards compant.ep_query_request_path
filter for modifying the query path.
- Missing action name in post query integration.
- Properly add date filter to WP_Query.
3.0.2 - 2019-05-23
- Date query errors
- Re-add ep_retrieve_the_{type} filter. Props @gassan
- Empty autosuggest selector notice
3.0.1 - 2019-05-20
- Changed max int to use core predefined constant. Props @fabianmarz
wp elasticpress stats
andwp elasticpress status
commands fatal error.- Add autosuggest selector field default to fix notice.
- Re-add
ep_find_related
as deprecated function. - Properly support legacy feature registration callbacks per #1329.
- Properly disable settings as needed on dashboard.
- Don't force document search on REST requests.
3.0 - 2019-05-13
- Requires re-index
- 3.0 is a refactor of ElasticPress for modern coding standards (PHP 5.4 required) as well as the introduction to indexables. Indexables abstracts out content types so data types other than post can be indexed and searched. 3.0 includes user indexing and search (integration with WP_User_Query). User features require at least WordPress version 5.1.
- The refactor changes a lot of ElasticPress internals. The biggest change is the feature registration API has completely changed. Now, new features should extend the
ElasticPress\Feature
class rather than callingep_register_feature
. Older features should be backwards compatible.
- Elasticsearch language setting in admin
ep_post_sync_kill
filter removed$post_args
argument.posts-per-page
changed toper-page
for WP-CLI index command.
ep_feature_setup
action
2.8.2 - 2019-03-26
- WooCommerce product attributes as facets.
- Performance Boost for document indexing.
- Issue on WP REST API searches.
- Case-sensitivity issue with facet search.
2.8.1 - 2019-02-13
- Homepage out of chronological order.
- Missing meta key. (Props @turtlepod)
- Bulk indexing default value on settings page.
2.8.0 - 2019-02-08
- Sticky posts support.
- WooCommerce searches with custom fields.
- Elasticsearch version in settings. (Props @turtlepod)
- Allow user to set number of posts during bulk indexing cycle.
- Facet query string customization (Props @ray-lee)
- Protected content: filtering of filtered post types.
- Implemented --post-ids CLI option to index only specific posts. (Props @dotancohen)
- Meta LIKE query adjustment.
- Autosuggest to abide by plugin settings.
- Adjustment to
wp elasticpress status
- Logic that determines if blog is public / indexable. (Resolves sync issue.)
- Date weighting for protected content admin queries.
- Autosuggest bugfix.
- Auto activating sync notices. (Props @petenelson)
2.7.0 - 2018-12-06
- Requires re-index
- Prevent indexing when blog is deleted or not public.
- Do not apply absint to comment_status.
- Random WooCommerce ordering allowed.
- Better error notices. (Props @petenelson)
- Query only post IDs when indexing. (Props @elliott-stocks)
- ElasticPress.io credentials bugfix.
- Related posts bugfix.
2.6.1 - 2018-08-24
- Missing file for wp-cli.
2.6 - 2018-08-22
- Ability to set autosuggest endpoint by a constant (EP_AUTOSUGGEST_ENDPOINT).
- Enable WooCommerce products to be included in autosuggest results.
- Support for tax_query operators EXISTS and NOT EXISTS.
- Filter to change default orderby/sort (ep_set_default_sort).
- Do not search for author_name when searching products in WooCommerce.
2.5.2 - 2018-05-09
- Requires re-index
- Unnecessary facet JavaScript
- Facet aggregations warning
2.5.1 - 2018-05-02
- Requires re-index as we change the way data is being sent to Elasticsearch.
- It's also worth noting for ElasticPress version 2.5+, the Facets feature, which is on by default, will run post type archive and search page main queries through Elasticsearch. If Elasticsearch is out of sync with your content (possible in rare edge cases), this could result in incorrect content being shown. Turning off Facets would fix the problem.
- Don't pre-strip HTML before sending it to Elasticsearch.
- Support PHP 5.2 backwards compat.
- Don't show faceting widget if post type doesn't support taxonomy.
2.5 - 2018-04-23
- ElasticPress 2.5 includes a new Facets feature that makes it easy to add high performance content filtering controls to a website.
- A new Facets widget enables site administrators to add taxonomy facets to a sidebar (or any widgetized area). When viewing a content list on the front end of the website, the widget will display the name of the taxonomy – e.g. “Categories” – and a checklist with all of its terms. Visitors can narrow down content by selecting terms they are interested in. The Facets feature can be globally configured to narrow results to content that is tagged with any or all of the selected terms. The widget’s front end output contains carefully named CSS classes, so that designers and developers can apply unique styling.
- Official support for Elasticsearch 6.2
- Increased functional parity with the WP_Query API
- Facets feature
--post-ids
CLI option to index only specific posts. Props @dotancohen.- Filter for hiding host setting in dashboard. Props @tomdxw.
- Support
WP_Query
meta querynot between
comparator.
- Disallow duplicated Elasticsearch requests on WooCommerce orders page. Props @lukaspawlik
- Taxonomy sync object warning. Props @eugene-manuilov
true
inis_empty_query
terminates ep_query process when it shouldn't. Props @yaronuliel
2.4.2 - 2018-01-31
- Related posts not showing up bug.
2.4.1 - 2018-01-30
- Increase maximum Elasticsearch compatibility to 6.1
- Support Elasticsearch 6.1 and properly send Content-Type header with application/json. Props @eugene-manuilov.
- Autosuggest event target issue bug. Props @eugene-manuilov.
- Widget init bug. Props @eugene-manuilov.
- Taxonomy sync parameter warning. Props @eugene-manuilov.
2.4 - 2017-11-01
- Version 2.4 introduces the Autosuggest feature. When enabled, input fields of type "search" or with the CSS class "search-field" or "ep-autosuggest" will be enhanced with autosuggest functionality. As text is entered into the search field, suggested content will appear below it, based on top search results for the text. Suggestions link directly to the content.
- We also added hooks and filters to ElasticPress that make query logging possible. The Debug Bar ElasticPress plugin now adds a Query Log screen to the ElasticPress admin menu. The Query Log is an extremely powerful tool for diagnosing search and indexing issues.
- Autosuggest feature
- Hooks for query log functionality in Debug Bar ElasticPress
- Support
WP_Query
fields
parameter. Props @kallehauge. - Setting for enabling/disabling date weighting in search. Props @lukaspawlik.
- Shipping class as indexed WooCommerce taxonomy. Props @kallehauge.
- Allow WooCommerce orders to be searched by items. Props @kallehauge.
- Support Elasticsearch 5.6
- Filter to granularly control admin notices. Props @mattonomics.
- Support ES 5.5+ strict content type checking. Props @sc0ttclark
- Extra post meta storage key from Elasticsearch
author_name
search field. Props @ivankristianto.- Unavailable taxonomy issue in WooCommerce. Props @ivankristianto.
- Index all publicly queryable taxonomies. Props @allan23.
- Resolve case insensitive sorting issues. Props @allan23.
- Escaping per VIP standards. Props @jasonbahl.
- WooCommerce post type warnings.
2.3.2 - 2017-06-30
- Broken upgrade sync notification.
- Cache ES plugins request. This is super important. Instead of checking the status of ES on every page load, do it every 5 minutes. If ES isn't available, show admin notification that allows you to retry the host.
2.3.1 - 2017-06-29
- This requires a re-index if you are using the WooCommerce feature.
- Properly respect WC product visibility. Props @ivankristianto.
2.3 - 2017-05-26
- Version 2.3 introduces the Documents feature which indexes text inside of popular file types, and adds those files types to search results. We've also officially added support for Elasticsearch 5.3.
- Documents feature
- Enable multiple feature status messages
- Disable dashboard sync via constant:
define( 'EP_DASHBOARD_SYNC', false );
. Props @rveitch. - Filter for custom WooCommerce taxonomies. Props @kallehauge.
- Support WooCommerce
product_type
taxonomy. Props @kallehauge.
- WP-CLI
--no-bulk
number of posts indexed message. Props i@vankristianto. - Honor
ep_integrate
in WooCommerce queries. Props @ivankristianto. - Properly check when ES results are empty. Props @lukaspawlik
- Incorrect
found_posts
set in query when ES is unavailable. Props @lukaspawlik
2.2.1 - 2017-03-30
EP_INDEX_PREFIX
constant. If set, index names will be prefixed with the constant. Props @allan23.- Increase total field limit to 5000 and add filter. Props @ssorathia.
- Increase max result window size to 1000000 and add filter.
- operator=>AND unneed execution code.
- Dashboard syncing delayed start issues.
- If plugins endpoint errors, try root endpoint to get the ES version.
- Make sure orderby is correct for default WooCommerce sorting. Props @ivankristianto.
- Stop dashboard sync if error occurs in the middle. Props @ivankristianto.
- Prevent EP from auto-activating a feature that was force deactivated
- Prevent massive field Elasticsearch error when indexing large strings
2.2 - 2017-02-28
- Requires re-index
- Version 2.2 rethinks the module process to make ElasticPress a more complete query engine solution. Modules are now auto-on and really just features. Why would anyone want to not use amazing functionality that improves speed and relevancy on their website? Features (previously modules) can of course be overridden and disabled. Features that don't have their minimum requirements met, such as a missing plugin dependency, are auto-disabled.
- We've bumped the minimum Elasticsearch version to 1.7 (although we strongly recommend 2+). The maximum tested version of Elasticsearch is version 5.2. If you are running Elasticsearch outside this version range, you will see a warning in the dashboard.
- (Breaking change) Module registration API changed. See
register_module
inclasses/class-ep-modules.php
. - (Breaking change) Related posts are now in a widget instead of automatically being appending to content.
- (Breaking change) Admin module renamed to Protected Content.
- Admin warning if current Elasticsearch version is not between the min/max supported version. Version 2.2 supports versions 1.3 - 5.1.
- Auto-reindex on versions requiring reindex.
- User friendly admin notifications for ElasticPress not set up, first sync needed, and feature auto activation.
- Protected Content feature applies to all features. This means if Protected Content isn't active, search or WooCommerce integration won't happen in the admin.
- Support for post_mime_type. Props @Ritesh-patel
- 'number' param to satisfy WP v4.6+ fixing get_sites call. Props @rveitch
- Back compat with old
ep_search
function. - Respect indexable post types in WooCommerce feature
- New product drafts not showing in WooCommerce admin list
- WooCommerce feature breaking image search in media library. Props @Ritesh-patel
- WooCommerce order search broken
- Stop the insansity made private. Props @sc0ttclark
- Multidimensional meta querys. Props @Ritesh-patel.
- Properly show bulk index errors in WP-CLI
- Update ep_delete_post, include $post_type argument. Props @Ritesh-patel
- post_type product getting set in any WP_Query if tax_query is provided in WooCommerce feature. Props @Ritesh-patel
- Order by proper relevancy in WooCommerce product search. Props @ivankristianto
- Recursion fatal error due to oembed discovery during syncing. Props @ivankristianto
2.1.2 - 2016-11-11
- Requires re-index
- Separate mapping for ES 5.0+
- Unit tests
2.1.1 - 2016-09-29
- PHP 5.3 errors
- Properly show syncing button module placeholder during sync
2.1 - 2016-09-20
- Move ep_admin_wp_query_integration to search integration only. EP integration by default is available everywhere.
- Remove
keep alive
setting - Remove setting to integrate with search (just activate the module instead)
- Back up hosts code removed
- Remove active/inactive state. Rather just check if an index is going on our not.
- Support
meta_key
andmeta_value
- Order by
meta_value_num
- Search scope file. Props @rveitch
- Support WP_Query
post_status
. Props @sc0ttclark
- Redo UI
- Make plugin modular
- Bundle existing modules into plugin
- Remove unnecessary back up hosts code
- Properly support
post_parent = 0
. Props @tuanmh post__in
supportpaged
overwritingoffset
- Integer and comma separated string
sites
WP_Query processing. Props @jaisgit.
2.0.1 - 2016-08-02
- Don't load settings on front end. This fixes a critical bug causing ElasticPress to check the Elasticsearch connection on the front end.
2.0 - 2016-06-01
- 10up ships ElasticPress 2.0 with radical search algorithm improvements and a more comprehensive integration of WP_Query. ElasticPress is now even closer to supporting the complete WP_Query API. This version also improves upon post syncing ensuring that post meta updates are synced to Elasticsearch, adds a number of important hooks, and, of course, fixes some pesky bugs.
- A special thanks goes out to Tuan Minh Huynh and everyone else for contributions to version 2.0.
- Radical search algorithm improvements for more relevant results (see #508 for details)
- Support meta
BETWEEN
queries. - Support
OR
relation for tax queries. - Sync post to Elasticsearch when meta is added/updated.
- Support all taxonomies as root WP_Query arguments. Props @tuanmh
ID
field to Elasticsearch mapping- Support
post_parent
WP_Query arguments. Props @tuanmh - Filter to disable printing of post index status. Props @tuanmh
- Useful CLI hooks
- Filter to bypass permission checking on sync (critical for front end updates)
- Improve GUI by disabling index status meta box text and improving instructions. Props @ivanlopez
- Consider all remote request 20x responses as successful. Props @tuanmh
- Plugin localization. Props @mustafauysal
- Do query logging by default. Props @lukaspawlik
- Cannot redeclare class issue. Props @tuanmh
- Double querying Elasticsearch by ignoring
category_name
whentax_query
is present. - Post deletion endpoint URL. Props @lukaspawlik
1.9.1 - 2016-05-23
- GUI not working properly when plugin is not network enabled within multisite. Props @ivanlopez
1.9 - 2016-05-17
- ElasticPress 1.9 adds in an admin UI, where you can set your Elasticsearch Host and run your index command, without needing to us WP-CLI. Version 1.9 also adds in some performance improvements to reduce memory consumption during indexing. Full list of enhancements and bug fixes:
- Admin GUI to handle indexing. Props @ChrisWiegman.
- Option to not disable ElasticPress while indexing. Props @lukaspawlik.
- Allow filtering of which post types we want to search for. Props @rossluebe.
- Ensure both PHPUnit and WP-CLI are available in the development environment. Props @ChrisWiegman.
- User lower-case for our composer name, so packagist can find us. Props @johnpbloch.
- Check query_vars, not query to determine status. Props @ChrisWiegman.
- Further reduce memory usage during indexing. Props @lukaspawlik.
- post__in and post__not_in documentation. Props @mgibbs189.
- Elasticsearch Shield authentication headers if constant is set. Props @rveitch.
- Improve memory usage during indexing and fix unnecessary cache flushes. Props @cmmarslender.
- composer.lock from the repo. Props @ChrisWiegman.
- --no-bulk indexing option. Props @lukaspawlik.
- Error that occurs if no Elasticsearch host is running. Props @petenelson.
- Exception error. Props @dkotter.
- WP-CLI status command. Props @dkotter.
1.8 (Mapping change, requires reindex) - 2016-01-19
- ElasticPress 1.8 adds a bunch of mapping changes for accomplishing more complex WP_Query functions such as filtering by term id and sorting by any Elasticsearch property. Version 1.8 also speeds up post syncing dramatically through non-blocking queries. Full list of enhancements and bug fixes:
- Filter around the search fuzziness argument. Props @dkotter.
- Make post indexing a non-blocking query. Props @cmmarslender.
- Log queries for debugging. Makes ElasticPress Debug Bar plugin possible.
- Make
posts_per_page = -1
possible. - Support term id and name tax queries.
- raw/sortable to property to term mapping. Props @sc0ttkclark
- raw/sortable property to meta mapping. Props @sc0ttkclark
- raw/sortable to author display name and login
- Post deletion. Props @lukaspawlik.
- Properly flush cache with
wp_cache_flush
. Props @jstensved - When directly comparing meta values in a meta query, use the
raw
property instead ofvalue
. - Support arbitrary document paths in orderby. Props @sc0ttkclark.
1.7 (Mapping change, requires reindex) - 2015-12-11
- ElasticPress 1.7 restructures meta mapping for posts for much more flexible meta queries. The
post_meta
Elasticsearch post property has been left for backwards compatibility. As of this version, post meta will be stored in themeta
Elasticsearch property.meta
is structured as follows: - When querying posts, you will get back
meta.value
. However, if you plan to mess with the new post mapping, it's important to understand the intricacies. - The real implications of this is in
meta_query
. You can now effectively search by meta types. See the new section in README.md for details on this.
meta.value
(string)meta.raw
(unanalyzed string)meta.long
(unanalyzed number)meta.double
(unanalyzed number)meta.boolean
(unanalyzed number)meta.date
(unanalyzed yyyy-MM-dd date)meta.datetime
(unanalyzed yyyy-MM-dd HH:mm:ss datetime)time
(unanalyzed HH:mm:ss time)- Index posts according to post type. Props @sc0ttkclark
- Prevent missed post indexing when duplicate post dates. Props @lukaspawlik
- Complex meta types are automatically serialized upon storage.
1.6.2 - 2015-11-12
- Mapping change, requires reindex
- ElasticPress 1.6.2 fixes ALL backwards compatibility issues with Elasticsearch 2.0
- Uses string instead of array for post type term when there is only one term.
fuzzy_like_this
query and usesmulti_match
instead.
1.6.1 - 2015-11-09
- Mapping change, requires reindex
- ElasticPress 1.6.1 fixes mapping backwards compatibility issues with Elasticsearch 2.0:
- Fields field type from object typed fields as they should be called properties.
- Path from object field types.
1.6 - 2015-08-31
- ElasticPress 1.6 contains a number of important enhancements and bug fixes. Most notably, we now support Elasticsearch fallback hosts and the indexing of attachments.
- Blog id to
ep_index_name
filter. Props @kovshenin - Support post caching in search
- Recursive term indexing for heirarchal taxonomies. Props @tuanmh
- Enable indexing of attachments
- Support fallback hosts in case main EP host is unavailable. Props @chriswiegman
ep_retrieve_the_post
filter to support relevancy score manipulation. Props @matthewspencer- Make search results filterable. Props @chriswiegman
- Clean up PHP Code Sniffer errors. Props @chriswiegman
- Properly document Elasticsearch version
- Abide by
exclude_from_search
instead ofpublic
when indexing post types. Props @allan23 and @ghosttoast. - Allow posts to be indexed with invalid date values. Props @tuanmh
- Support
ep_post_sync_kill
filter in bulk indexing. Props @Stayallive
1.5.1 - 2015-07-06
- Prevent notices from being thrown when non-existent index properties are accessed. This was happening for people how upgraded to 1.5 without doing a re-index. Props @allan23
1.5 - 2015-06-25
- Support for category_name WP_Query parameter. Props @ocean90
- Support limiting sites in network wide commands. Props @bordoni
- Support for method to un-integrate WP_Query. Props @kingkool68
- Support
cache_results
in WP_Query - Action prior to starting WP-CLI index command
- Missing headers to WP_CLI commands. Props @chriswiegman
- Improve error reporting in bulk indexing during bad ES requests.
- Filter to modify request headers. Props @tuanmh
- Prevent bulk index from sending useless error emails. Props @cmmarslender
- --offset parameter to cli indexing command. Stayallive
- Support like query in post meta. Props @tuanmh
- Sanitization fixes for PHPCS. Props @mphillips
- Filter to set default sort order. Props @HKandulla
- MySQL DB completely removed from integrated ElasticPress WP Query. Props @EduardMaghakyan and @crebacz
- Syncing hook to play better with plugins. Props @jonathanbardo
- is_search check notice. Props @allenmoore and @allan23
- Prevent direct access to any PHP files. Props @joelgarciajr84
- Fields not being loaded from ES. Props @stayallive
- Inclusive check in date_query integration. Props @EduardMaghakyan
1.4 - 2015-05-18
date_query
and date parameters now supported in WP_Query. Props @joeyblake and @eduardmaghakyan- Make all request headers filterable
- EP API key to all requests as a header if a constant is defined. Props @zamoose
- Index exists function; remove indexes on blog deletion/deactivation. Props @joeyblake
- Refactor wp-cli stats for multisite. Props @jaace
- Index mappings array moved to separate file. Props @mikaelmattsson
- Support meta inequality comparisons. Props @psorensen
- Default shard and indices configuration numbers but maintain backwards compatibility. Props @zamoose
- Duplicate sync post hooks separated. Props @superdummy
- Don't send empty index error emails. Props @cmmarslender
- Wrong author ID in post data. Props @eduardmaghakyan
1.3.1 - 2015-04-09
- Support
date
in WP_Queryorderby
. Props @psorensen
1.3 - 2015-02-03
- Support
meta_query
in WP_Query integration - Improved documentation. Each WP-CLI command has been documented
elasticsearch
property to global post object to assist in debuggingep_integrate
param added to allow for WP_Query integration without search. (Formally called ep_match_all)- Filter added for post statuses (defaults to
publish
). Change the sync mechanism to make sure it takes all post statuses into account. Props @jonathanbardo
- Check if failed post exists in indexing. Props @elliot-stocks
- Properly check if setup is defined in indexing. Props @elliot-stocks
- Add WP_Query integration on init rather than plugins loaded. Props @adamsilverstein
- Properly set global post object post type in loop. Props @tott
- Do not check if index exists on every page load. Refactor so we can revert to MySQL after failed ES ping.
- Make sure we check
is_multisite()
if--network-wide
is provided. Props @ivankruchkoff - Abide by the
exclude_from_search
flag from post type when running search queries. Props @ryanboswell - Correct mapping of
post_status
tonot_analyzed
to allow for filtering of the search query (will require a re-index). Props @jonathanbardo
1.2 - 2014-12-05
- Allow number of shards and replicas to be configurable.
- Filter and disable query integration on a per query basis.
- Support orderby
parameter in
WP_Query
- Improved searching algorithm. Favor exact matches over fuzzy matches.
- Query stack implementation to allow for query nesting.
- Delete action to action_delete_post instead of action_trash_post
- Improve unit testing for query ordering.
- _boost from mapping. _boost is deprecated by Elasticsearch.
- We don't want to add the like_text query unless we have a non empty search string. This mimcs the behavior of MySQL or WP which will return everything if s is empty.
1.1 - 2014-10-27
- Add support for post_title and post_name orderby parameters in
WP_Query
integration. Add support for order parameters.
- Refactored
is_alive
,is_activated
, andis_activated_and_alive
. We now have functionsis_activated
,elasticsearch_alive
,index_exists
, andis_activated
. This refactoring helped us fix #150.
1.0 - 2014-10-20
- Support
search_fields
parameter. Support author, title, excerpt, content, taxonomy, and meta within this parameter. - Check for valid blog ids in index names
sites
WP_Query parameter to allow for search only on specific blogs
- Move all management functionality to WP-CLI commands
- Disable sync during import
- Improved bulk error handling
- Improved unit test coverage
- Remove ES_Query and support everything through WP_Query
ep_last_synced
meta- Syncing taxonomy
0.9.3 - 2014-09-26
- Better documentation surrounding
WP_Query
parameters (props @tlovett1) - Option to allow for using
match_all
(props @colegeissinger for suggestion) - Better tests for some
WP_Query
parameters (props @tlovett1) - Allow for manual control over search integration
- Support for passing an array of sites to search against (props @tlovett1)
- Filter for controlling whether or not ElasticPress is enabled during a
wp_query
request - Filter to allow adjusting which fields are searched (
ep_search_fields
)
- Prevented filtering
WP_Query
in admin (props @cmmarslender) - Updated tests to better conform to WordPress repo 5.2 compatibility (props @tlovett1)
- Made running re-indexing commands simpler and easier by adding support for a new
--setup
flag on theindex
command - Disable search integration during syncing
- Bug that would cause a post to stay in the index when a post was unpublished
- Bug that would cause site to be improperly switched after a
wp_reset_postdata
while not in the loop - Bug that would cause EP to individually sync each post during an import - disabled syncing during import - requires a full re-index after import
0.9.2 - 2014-09-11
- Wrapper method for wp_get_sites, added filter
- Ability to change scope of search to other sites in network
- tax_query support.
- Aggregation filter update
0.9.1 - 2014-09-05
- Action to allow for retrieval of raw response
- Filter to retrieve aggregations
- Pagination tests
- ep_min_similarity and ep_formatted_args filters
- ep_search_fields filter for adding custom search fields
- Filter to allow for specific site selection on multisite indexing
- Adjust default fuzziness to .75 instead of .5
- Main query check on ep wp query integration
0.9 - 2014-09-03
- Make labels clickable in admin
- Setup plugin textdomain; POT file for translation; localize stray string in cron
- Tests for is_alive function
- search_meta key param support to ES_Query
- Test WP Query integration on multisite setup
- Flush and re-put mapping on admin sync request
- WP Query integration
- Simplify sync
- do_scheduled_syncs into do_syncs
- Make config files static
- EP hidden taxonomy
- Cron stuff
- Statii
- Type coercion in equality checks
0.1.2 - 2014-06-27
- Support ES_Query parameter that designates post meta entries to be searched
- Escape post ID and site ID in API calls
- Additional tests
- Translation support
- is_alive function for checking health status of Elasticsearch server
- Only index public taxonomies
- Renamed
statii
tostatus
- Escaping issues
- Initial plugin release