Skip to content

Releases: 10up/ElasticPress

ElasticPress 1.7

11 Dec 16:07
Compare
Choose a tag to compare

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

Version 1.6.2

12 Nov 18:01
Compare
Choose a tag to compare

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.

Version 1.6.1

09 Nov 21:00
Compare
Choose a tag to compare

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.

Version 1.6

31 Aug 18:52
Compare
Choose a tag to compare

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

Version 1.5.1

06 Jul 15:05
Compare
Choose a tag to compare

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

Version 1.5

25 Jun 20:54
Compare
Choose a tag to compare

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

Version 1.4

18 May 21:38
Compare
Choose a tag to compare

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.

Version 1.3.1

09 Apr 14:25
Compare
Choose a tag to compare

Changelog:

  • Support date in WP_Query orderby.

Version 1.3

03 Feb 17:07
Compare
Choose a tag to compare
  • 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

Version 1.2

05 Dec 18:18
Compare
Choose a tag to compare
  • 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.