0.16.0
Release Notes:
Breaking changes:
- Mapping: By default, don’t index
_id
(#868)
- Node Stats API: Change the structure of the response (more structured) (#746)
- Indices Status API: Remove settings/aliases section, and add
recovery
/snapshot
flags (#809)
- elasticsearch script: Change CLASSPATH to ES_CLASSPATH (#818)
- Upgrade to Lucene 3.1 (#825, Analyzers in #826)
- Get Mapping API: when asking for a mapping of a single index and single type, don’t wrap the mapping with the index name (#838)
- JMX: Don’t use node id and name as part of the jmx registration, use static org.elasticsearch (#843)
New features:
- Search:
- Terms Stats Facet (#705, related commit)
- Add search type
scan
allowing to efficiently scan large result set (#707)
- Add search_type for
count
to return count but still support facets (#718)
- Scripts: Allow to register native scripts (Java) for better script execution performance. (#752)
- Update Settings: Allow to dynamically change refresh_interval and merge policy settings (#758)
- Versioning: Add a new
version_type
parameter, with a new type – external
(#776)
- Sort: Support “missing” specific handling, include
_last
, _first
, and custom value (for numeric values) (#772)
- Search / Get: Allow to specify a preference on which shards (or order) it will be executed (#769)
- Delete Index API: Allow to delete more than one index or _all indices (#791)
- Mapping: Add
_size
field mapping, indexing the original source size (#804)
- Get Settings API: Allow to retrieve (just) a specific index / indices settings (#810)
- Shard Allocation: Add a setting to control when rebalancing will happen based on the cluster wide active shards state (#814)
- Terms Facet: Performance improvements (#822)
- Histogram Facet: Add ability to define bounds (from/to) to both improve performance and provide additional bound filtering (#834)
- Query DSL:
- Geo Distance Range filter (#856)
- Add ids query and filter to fetch docs by ids (do not require _id field to be indexed) (#865)
Enhancements:
- Attachment plugin: upgrade to Tika 0.9
- Add
http
and transport
simplified host settings (#706)
- Get API: Allow to provide a script as a field (#708)
- Support for other exchange types and options in AMQP river (#709)
- Allow to register custom rivers under a custom type name (And not full class names) (#712)
- Node Stats: Add number of docs per node (#713)
- Twitter river:
- “user.screen_name” should not be analyzed (#715)
- Automatically reconnect when disconnected from twitter stream (#735)
- Oauth support (#757)
- Clear Cache API: Add specific cache clear for
id
, filter
, field_data
, bloom
(#716)
- Improve from hits pagination (duplicates) (#717)
- Search:
- Allow to filter out docs based on a minimum score (#719)
- Allow to use has_child filter in facets (#730)
- Index Filter Cache: Add
resident
type, and max_size
to soft
/weak
types (#721)
- Mapping: When
_all
is disabled, optimize to not gather all entries (#722)
- Zen Discovery: Rename
discovery.zen.initial_ping_timeout
to discovery.zen.ping_timeout
(still support the old setting) (#723)
- Bulk API: Improve memory usage when executing large bulk requests (724)
- Bulk Request: Streamline parameters names to be the same as the single REST request (#778)
- Peer Recovery: Batch translog based operation recovery based on size and not just number of operations (#729)
- Don’t “double” cache a facet filter / query facet (#734)
- Delete API: Allow to set
_parent
on it (will simply set the routing value) (#742)
- Query DSL: flt_field does not allow to set
min_similarity
and prefix_length
(#744)
- Query: Provide an option to analyze wildcard/prefix in query_string / field queries (#787)
- Indices Status / Node Stats: Add (Lucene) index merge stats (#745)
- Indices Status API: Add refresh stats (#811)
- Internal: Improve checksum process by bulk writing them into a single file instead of checksum file per index file (#747)
- Logging: Add merge level logging (#755)
- Mvel Script: add more random options, and optimize random (#759)
- Update Settings:
- Allow to dynamically change
index.term_index_interval
and index.term_index_divisor
(#762)
- Allow to dynamically update
index.translog
settings (#765)
- Allow to control
index.auto_expand_replicas
(#799)
- Add
max_shard_index_buffer_size
to control the upper limit of a shard indexing buffer size (defaults to 512mb
) (#773)
- Support true|false for the
store
parameter in mappings (#775)
- “exclude” functionality missing for terms facet on numeric fields (#789)
- Percolator: When deleting an index, make sure to delete all its percolated queries from the _percolator index (#793)
- NPE when the JSON to index doesn’t match the mapping’s expectations (#795)
- Date Field Mapper: Allow to use timestamp value (milliseconds since epoch, UTC) (#801)
- Add option to expire filter’s cache based on access time (#803)
- Extend stats API to include filter’s cache count and eviction count (#802)
- Support
ES_MIN_MEM
and ES_MAX_MEM
as external settings for windows startup script (commit)
- HTTP: Support compression (gzip, deflate) when using Accept-Encoding header (#815)
- Shard Allocation:
- Rename cluster.routing.allocation.concurrent_recoveries to cluster.routing.allocation.node_concurrent_recoveries (old one still works) (#817)
- Add node_initial_primaries_recoveries setting (#819)
- Translog: Reduce the number of translog ops to flush after from 20000 to 5000 (#820)
- Indexing Buffer: Automatically inactivate unindexed into shards and lower their indexing buffer size (#821)
- Histogram Facet: Add min/max stats when providing value field / script (#830)
- Network Settings: Allow to explicitly set ipv4 and ipv4 when using networkInterface notation (#841)
- Optimize API: Don’t execute concurrent optimize operations (shard level) on the same node (#846)
- Better handling when a shard hits OOM (#848)
- EC2 Zen Discovery: Automatically use the configured transport port to ping other nodes (#854)
- Unicast Discovery: Concurrently connect to nodes to improve cases where some listed nodes are not up (#855)
- Query DSL: Allow to directly wrap a query with a
constant_score
query (#857)
- Mapping: Allow to set index to
no
for _id
and _type
(#863)
- Better support with
_type
is marked as not indexed, allowing to filter by type (#866)
- Simplify Filter Cache Eviction Settings (#871)
- Update Settings: Allow to dynamically set filter cache settings (#874)
- Startup script: fix shell quoting (commit)
Bug fixes:
- Handle cluster join request on a non IO thread (#702)
- River not recovered when using single node after shutdown (#711)
- Single node cluster comes up as red with local gateway (#714)
- Acknowledge problem for put mapping with multiple indices or all indices (#720)
- Percolator:
- Failure to percolate with specific query (when creating the _percolate index before the actual index) (#725)
- Failure when deleting and creating an index, also causes problem with percolated queries isolation between different indices (#790)
- Failures when using docs where fields repeat, such as arrays (#763)
- Ids with # in them will cause search failures, also, fail when # is used in a type name (#728)
- Date Histogram Facet:
- NPE if using
1w
interval (#727)
- Improve value field case performance, fix wrong total computation with multi valued fields by introducing
total_count
, add min/max stats (#831)
- Prefix inside a dis_max / bool query broken (#732)
- Searching while an index is being allocated and no active shards exists within a “shard replication group” can cause search “misses” (#736)
- All Field: All field can fail to analyze input data (rare cases) (#743)
- Mapper: Using
dynamic_template
can result in warning of parsed and original source difference (resulting in excessive mapping parsing) (#764)
- Cluster Health API: Asking for health on an index that does not exists should return RED status (#781)
- Mapping: Failure to update
_source
mapping – compress and compress_threshold (#800)
- Concurrent calls to refresh might result in “dangling” searchers (#823)
- Geo Distance / Range Facets might count documents several times for a range entry if the field is multi valued (#824)
- Histogram Facet: Improve value field case performance, fix wrong total computation with multi valued fields by introducing
total_count
(#829)
- Range Facet: Fix wrong total computation with multi valued fields by introducing
total_count
, add min/max stats (#832)
- Geo Distance Facet: Fix wrong total computation with multi valued fields by introducing
total_count
, add min/max stats (#833)
- Bug: Sort on a column of type ‘short’ throws an exception (#835)
- Percolator doesn’t work correctly after index recreation (#837)
- Allow to search across indices and types even if some types do not exists on some indices (#839)
- Better handling of shard failures (#845)
- River: Failure to reallocate river to another node on rivers node failure (#850)
- Local Gateway: Listed active shards on each node does apply index deletion (#853)
- Shard Allocation: Closed indices are not properly taken into account when rebalancing (#858)
- Allow to delete a closed index (#859)
- Versioning: Better handling of deletes – time based eviction (#862)
- Weird error message on syntax error (#864)
- Failure to recover a shard might cause loosing translog data (especially with no replicas) (#869)
- No highlight results when
number_of_fragments
set to 0 (#873)
- Search request intermittent failures with has_child query/filter (#875)
- Unexpected failure to create a shard can lead to data loss if it has no replicas (#878)
Internal:
- upgrade to mvel 2.1.beta2
- upgrade to guava r08
- upgrade to aws sdk 1.1.9
- upgrade to jackson 1.8.0
- upgrade to rabbitmq client 2.3.1
- upgrade to the new lzf compression (0.7)
- upgrade to groowvy 1.7.10