May 5, 2016 3:46 pm EDT

Choose your Postgres

Choose your Elasticsearch

Choose your Linux


This is BETA2 of v2.7.0.

This release provides additional performance improvements with queries that use index linking to join to other indexes. It does a lot of work to estimate the number of records that'll be returned from these parts of the query and (doubly) inverts their meaning where that would produce fewer records. Additionally, we post-optimize the query tree after solving all the joins to solve ANDed and ORed clauses to further reduce the number of ids we need to lookup for the final query (there's no complete query solver here, but maybe someday that'll need to be implemented). Overall, this has turned queries that take tens of seconds to execute down to milliseconds.

Other things of note

  • single-term wildcard queries (ie, field:bee*) against fields of type fulltext_with_shingles are rewritten as regular expressions that only match the single terms produced by the index analyzer. This makes such queries much faster.
  • the zdb_update_mapping(table_name) function has been fixed
  • a new function named zdb_dump_query(table_name regclass, query text) has been added to show the Elasticsearch QueryDSL that would be executed for the provided query. Very useful for debugging query performance issues and also kinda interesting to use to just generate QueryDSL as the input query goes through quite a bit of optimization.

No changes to underlying index structures (no need to REINDEX if you're on BETA1) and no additional bugs have (yet) been found with the new approach that uses an "invisibility map".

Stop waiting.
Start searching.

Get Started Today