ElasticPress

A fast and flexible search and query engine for WordPress.

GPL-2.0 License

Downloads
273.8K
Stars
1.2K
Committers
161

Bot releases are hidden (Show)

ElasticPress - Version 2.4

Published by tlovett1 almost 7 years ago

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.

Here is a comphrensive list of changes:

Enhancements

  • Autosuggest feature
  • Hooks for query log functionality in Debug Bar ElasticPress
  • Support WP_Query fields parameter. Props kallehauge.
  • Add setting for enabling/disabling date weighting in search. Props lukaspawlik.
  • Remove extra post meta storage key from Elasticsearch
  • Add shipping class as indexed WooCommerce taxonomy. Props kallehauge.
  • Allow WooCommerce orders to be searched by items. Props kallehauge.
  • Support Elasticsearch 5.6
  • Add filter to granularly control admin notices. Props mattonomics.
  • Support ES 5.5+ strict content type checking. Props sc0ttclark

Bug Fixes

  • Fix author_name search field. Props ivankristianto.
  • Fix unavailable taxonomy issue in WooCommerce. Props ivankristianto.
  • Index all publicly queryable taxonomies. Props allan23.
  • Resolve case insensitive sorting issues. Props allan23.
  • Add escaping per VIP standards. Props jasonbahl.
  • Fix WooCommerce post type warnings.
ElasticPress - Version 2.3

Published by tlovett1 over 7 years ago

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.

Enhancements

  • Documents feature
  • Enable multiple feature status messages
  • Disable dashboard sync via constant: define( 'EP_DASHBOARD_SYNC', false );. Props rveitch.
  • Add filter for custom WooCommerce taxonomies. Props kallehauge.
  • Support WooCommerce product_type taxonomy. Props kallehauge.

Bug Fixes

  • Fix WP-CLI --no-bulk number of posts indexed message. Props ivankristianto.
  • 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
ElasticPress - Version 2.2.1

Published by tlovett1 over 7 years ago

Version 2.2.1 is a bug fix release. Here are a listed of issues that have been resolved:

  • Fix 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.
  • Remove taxonomy operator => AND unneeded execution code.
  • Stop dashboard sync if an error occurs in the middle. Props ivankristianto.
  • Add 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.
  • Prevent EP from auto-activating a feature that was force deactivated.
  • Prevent massive field Elasticsearch error when indexing large strings.
  • Increase max result window size to 1000000 and add filter.
ElasticPress - Version 2.2

Published by tlovett1 over 7 years ago

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.

Enhancements

  • (Breaking change) Module registration API changed. See register_module in classes/class-ep-modules.php.
  • (Breaking change) Related posts are now in a widget instead of automatically being appended 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.
  • Add support for post_mime_type. Props Ritesh-patel

Bug Fixes

  • 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 insanity made private. Props sc0ttclark
  • Fix multidimensional meta queries. Props Ritesh-patel.
  • Properly show bulk index errors in WP-CLI
  • Update ep_delete_post, include $post_type argument. Props Ritesh-patel
  • Fix post_type product getting set in any WP_Query if tax_query is provided in WooCommerce feature. Props Ritesh-patel
  • Adds 'number' param to satisfy WP v4.6+ fixing get_sites call. Props rveitch
  • Order by proper relevancy in WooCommerce product search. Props ivankristianto
  • Fix recursion fatal error due to oEmbed discovery during syncing. Props ivankristianto
ElasticPress - Version 2.1.2

Published by tlovett1 almost 8 years ago

Version 2.1.2 supports Elasticsearch 5.0. We've separated out index mappings for older versions of Elasticsearch to ensure legacy users can still upgrade.

ElasticPress - Version 2.1

Published by tlovett1 about 8 years ago

Version 2.1 marks a huge change in ElasticPress and even what's possible within WordPress. We have transformed the way the plugin works adding a modules system, completely redoing the user interface, adding a number of important WP_Query functional enhancements, and more.

Previously, ElasticPress was a useful plugin for achieving awesome search. Now, ElasticPress is the fast and flexible search and query engine for WordPress. The plugin includes a number of powerful modules, some previously bundled as separate plugins, to supercharge WordPress performance and search. We are extremely excited to launch ElasticPress 2.1. We see it as a framework to completely transform search, performance, and scalability in WordPress.

Here is a list of new features, bug fixes, and backward compatibility breaks in 2.1:

Enhancements

  • Redo UI.
  • Make plugin modular.
  • Remove unnecessary back up hosts code.
  • Bundle existing modules into core plugin.
  • Support meta_key and meta_value.
  • Order by meta_value_num.
  • Properly support post_parent = 0. Props tuanmh.
  • Add search scope file. Props rveitch.
  • Support WP_Query post_status. Props sc0ttclark.

Backward compat breaks:

  • Move ep_admin_wp_query_integration to search integration only. ElasticPress 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.

Bug fixes

  • Fix post__in support.
  • Fix paged overwriting offset.
  • Fix integer and comma separated string sites WP_Query processing. Props jaisgit.

As always, ElasticPress is free, open source software. We are proud of the contributions every one has provided to make version 2.1 possible.

ElasticPress - Version 2.0

Published by tlovett1 over 8 years ago

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.

Enhancements

  • Radical search algorithm improvements for more relevant results (see #508 for details)
  • Support meta BETWEEN queries.
  • Improve GUI by disabling index status meta box text and improving instructions. Props ivanlopez
  • 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
  • Add ID field to Elasticsearch mapping
  • Support post_parent WP_Query arguments. Props tuanmh
  • Add filter to disable printing of post index status. Props tuanmh
  • Add useful CLI hooks
  • Add a filter to bypass permission checking on sync (critical for front end updates)

Bugs

  • Consider all remote request 20x responses as successful. Props tuanmh
  • Fix plugin localization. Props mustafauysal
  • Do query logging by default. Props lukaspawlik
  • Fix cannot redeclare class issue. Props tuanmh
  • Fix double querying Elasticsearch by ignoring category_name when tax_query is present.
  • Fix post deletion endpoint URL. Props lukaspawlik

A special thanks goes out to Tuan Minh Huynh and everyone else for contributions to version 2.0.

ElasticPress - Version 1.9.1

Published by tlovett1 over 8 years ago

Quick bug fix version to address the GUI not working properly when plugin is not network enabled within multisite. Props to Ivan Lopez for the fix.

ElasticPress - Version 1.9

Published by dkotter over 8 years ago

ElasticPress 1.9 adds in an admin UI, where you can set your Elasticsearch Host and run your index commands, 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:

Enhancements:

  • Add in an Admin GUI to handle indexing. Props ChrisWiegman.
  • Add option to not disable ElasticPress while indexing. Props lukaspawlik.
  • Allow filtering of which post types we want to search for. Props rossluebe.
  • Remove composer.lock from the repo. Props ChrisWiegman.
  • 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.
  • Improve memory usage during indexing and fix unnecessary cache flushes. Props cmmarslender.
  • Further reduce memory usage during indexing. Props lukaspawlik.
  • Add post__in and post__not_in documentation. Props mgibbs189.
  • Add Elasticsearch Shield authentication headers if constant is set. Props rveitch.

Bugs:

  • Fix the --no-bulk indexing option. Props lukaspawlik.
  • Fixed an error that occurs if no Elasticsearch host is running. Props petenelson.
  • Fixed an exception error. Props dkotter.
  • Fixed the WP-CLI status command. Props dkotter.
ElasticPress - Version 1.8

Published by tlovett1 over 8 years ago

ElasticPress 1.8 adds a number 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. Here is a full list of enhancements and bug fixes:

Enhancements:

  • Add a 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.
  • Add raw/sortable to property to term mapping. Props sc0ttkclark
  • Add raw/sortable property to meta mapping. Props sc0ttkclark
  • Add raw/sortable to author display name and login.

Bugs:

  • Fix 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 of value.
  • Support arbitrary document paths in orderby. Props sc0ttkclark.

One of the most exciting additions to version 1.8 is query logging as it enabled us to release a Debug Bar plugin for ElasticPress. The plugin allows you to examine all ElasticPress requests on each page load.

Version 1.8 requires a full re-index.

ElasticPress - ElasticPress 1.7

Published by tlovett1 almost 9 years ago

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 the meta Elasticsearch property. meta is structured as follows:

  • 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)
  • meta.time (unanalyzed HH:mm:ss time)

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.

1.7 also contains the following bugs/enhancements:

  • (Bug) Prevent missed post indexing when duplicate post dates. Props lukaspawlik
  • (Bug) Complex meta types are automatically serialized upon storage.
  • (Enhancement) Index posts according to post type. Props sc0ttkclark
ElasticPress - Version 1.6.2

Published by tlovett1 almost 9 years ago

This release fixes a few things missed in 1.6.1. 1.6.2 fixes ALL compatibility issues with Elasticsearch 2.0 and should be completely backwards compatible with 1.7.x. Specifically, this version:

  • Removes fuzzy_like_this query and uses multi_match instead.
  • Uses string instead of array for post type term when there is only one term.
ElasticPress - Version 1.6.1

Published by tlovett1 almost 9 years ago

This is a quick bug fix version to account for breaking changes in Elasticsearch 2.0.0. Specifically, the mapping has been adjusted like so:

  • Removes the fields field type from object typed fields as they should be called properties.
  • Remove path from object field types.
ElasticPress - Version 1.6

Published by tlovett1 about 9 years ago

Version 1.6 contains a number of important enhancements and bug fixes. Most notably, we now support Elasticsearch fallback hosts and the indexing of attachments.

Bug Fixes:

  • Clean up PHP Code Sniffer errors. Props chriswiegman
  • Properly document Elasticsearch version
  • Abide by exclude_from_search instead of public 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

Enhancements:

  • Add blog id to ep_index_name filter. Props kovshenin
  • Support post caching in search
  • Add recursive term indexing for heirarchal taxonomies. Props tuanmh
  • Enable indexing of attachments
  • Support fallback hosts in case main EP host is unavailable. Props chriswiegman
  • Add ep_retrieve_the_post filter to support relevancy score manipulation. Props matthewspencer
  • Make search results filterable. Props chriswiegman
ElasticPress - Version 1.5.1

Published by tlovett1 over 9 years ago

A quick bug release version.

Bug Fixes:

  • 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
ElasticPress - Version 1.5

Published by tlovett1 over 9 years ago

This version includes 16 enhancements and 3 bug fixes across a total of 16 contributors. Only half of these contributors actually work for 10up! The focus of this version is performance. Most notably, ElasticPress queries now completely bypass MySQL yielding huge benefits. In the past ElasticPress was pulling from Elasticsearch but filling in some blanks with MySQL. ElasticPress queries also support the cache_results parameter for storing pulled posts in the object cache.

Here is a full list of version changes:

Bug Fixes:

Enhancements:

  • Add support for category_name WP_Query parameter. Props ocean90
  • Support limiting sites in network wide commands. Props bordoni
  • Add support for method to un-integrate WP_Query. Props kingkool68
  • Support cache_results in WP_Query
  • Add action prior to starting WP-CLI index command
  • Add missing headers to WP-CLI commands. Props chriswiegman
  • Improve error reporting in bulk indexing during bad ES requests.
  • Fix is_search check notice. Props allenmoore and allan23
  • Added a filter to modify request headers. Props tuanmh
  • Prevent bulk index from sending useless error emails. Props cmmarslender
  • Add --offset parameter to cli indexing command. Stayallive
  • Change the syncing hook to play better with plugins. Props jonathanbardo
  • Support like query in post meta. Props tuanmh
  • Sanitization fixes for PHPCS. Props mphillips
  • Added filter to set default sort order. Props HKandulla
  • MySQL DB completely removed from integrated ElasticPress WP Query. Props EduardMaghakyan and crebacz
ElasticPress - Version 1.4

Published by tlovett1 over 9 years ago

Changelog

This version contains a number of bug fixes and small enhancements. The focus of this version is date query support. New date features will not work unless you do a reindex (wp elasticpress index --setup).

Bug Fixes:

  • Duplicate sync post hooks separated. Props superdummy.
  • Don't send empty index error emails. Props cmmarslender.
  • Remove default shard and indices configuration numbers but maintain backwards compatibility. Props zamoose.
  • Fix wrong author ID in post data. Props eduardmaghakyan.

Enhancements:

  • date_query and date parameters now supported in WP_Query. Props joeyblake and eduardmaghakyan.
  • Make all request headers filterable.
  • Add EP API key to all requests as a header if a constant is defined. Props zamoose.
  • Add 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.
ElasticPress - Version 1.3.1

Published by tlovett1 over 9 years ago

Changelog:

  • Support date in WP_Query orderby.
ElasticPress - Version 1.3

Published by tlovett1 over 9 years ago

  • Support meta_query in WP_Query integration
  • Improved documentation. Each WP-CLI command has been documented
  • Add elasticsearch property to global post object to assist in debugging
  • ep_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
  • Bug fix: check if failed post exists in indexing. Props elliot-stocks
  • Bug fix: properly check if setup is defined in indexing. Props elliot-stocks
  • Bug fix: add WP_Query integration on init rather than plugins loaded. Props adamsilverstein
  • Bug fix: Properly set global post object post type in loop. Props tott
  • Bug fix: Do not check if index exists on every page load. Refactor so we can revert to MySQL after failed ES ping.
  • Bug fix: Make sure we check is_multisite() if --network-wide is provided. Props ivankruchkoff
  • Bug fix: Abide by the exclude_from_search flag from post type when running search queries. Props ryanboswell
  • Bug fix: Correct mapping of post_status to not_analyzed to allow for filtering of the search query (will require a re-index). Props jonathanbardo
ElasticPress - Version 1.2

Published by tlovett1 almost 10 years ago

  • Allow number of shards and replicas to be configurable.
  • Improved searching algorithm. Favor exact matches over fuzzy matches.
  • Query stack implementation to allow for query nesting.
  • Filter and disable query integration on a per query basis.
  • Support orderby parameter in WP_Query
  • (Bug) 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.
  • (Bug) Change delete action to action_delete_post instead of action_trash_post
  • (Bug) Remove _boost from mapping. _boost is deprecated by Elasticsearch.
  • Improve unit testing for query ordering.