Elasticsearch 1.1.0
See issues on GitHub
Release Notes
Breaking changes
- Query API: Removed
custom_score
andcustom_boost_factor
queries #5076 - NodesInfo API: Usings
plugins
instead of singular plugin #5072 - Lucene: Remove the in memory buffer Lucene store/directory, uses the ram index store module instead #4994
- Mapping API: Binary fields are no more stored by default, because its data is already available in the
_source
#4957 - Aggregations: aggregation names can now only contain alpha-numeric, hyphen ("-") and underscore ("_") characters, due to the enhancement which allows sub-aggregation sorting #5253
New features
- Aggregations: New cardinality aggregation #5426
- Aggregations: New percentiles aggregation #5323
- Aggregations: New significant terms aggregation #5146
- Aggregations: Allow
geo_hash
agg to return all hashes #4875 - Aggregations: Allow
terms
agg to return all terms #4837 - Aggregations: Add script support to
value_count
aggregations #5001 - Query API: Added
cross_fields
type tomulti_match
query #5005 - Query API: Add fuzzy/slop support to
simple_query_string
query #4985 - Query API: Use mustache based templates to prerender search requests #4879
- Query API: Added support for multiple sequential rescores #4748
- Search Template API: Added dedicated
/_search/template
endpoint #5353 - cat API: Added
_cat/plugins
endpoint #4824 - cat API: Added
_cat/segments
endpoint #4711 - Index Template API: Allow adding aliases in index template #1825
- Index versioning: Feature external version
force
option #4213 - Create Index API: Support aliases on index creation #4920
- Optimize API: Allow to force single-segment merges #5243
- Mapping: Add preserve original token option to
ASCIIFolding
filter #5115 - Percolation: Allow percolation of nested documents #5082
- Recovery: Added recovery API endpoint to receive status of ongoing recovery #4637
- Shard allocation: Expose more information to make sense of allocation decisions #2483
Enhancements
- Aggregations: Significant terms aggregation should only employ caching when necessary #5450
- Aggregations: Added support for sorting buckets based on sub aggregations #5253
- Aggregations: Move reduce phase to use paged recycler enabled structures #4929
- Aggregations: Rest API needs to be consistent across all multi-bucket aggs #4926
- Aggregations: Cleanup aggs java api #4922
- Aggregations: Add more fine-grained rounding for histograms #4800
- Aggregations: Use ordinals only on low-cardinality fields in terms agg #5303
- Aggregations: Removed some abstractions in aggregations collection to improve performance #4841
- Query API: Add
lenient
option tosimple_query_string
query #5208 - Query API: Add
locale
parameter toquery_string
andsimple_query_string
#5131 - Query API: Add support for
lowercase_expanded_terms
flag tosimple_query_string
query #5126 - Geo: Improve geo distance accuracy #5192
- Geo Filter Parser: Improved error detection in
geo_filter
parsing #5371 - Geo: Upgrade to Spatial4j 0.4.1 and JTS 1.13 #5336
- Lucene: Work around Lucene 3.x segments costly RAM usage estimations #5201
- Lucene: Use patched version of
ReferenceManager
to prevent infinite loop inReferenceManager#acquire()
#5043 - Lucene: Upgrade to Lucene 4.6.1 #4897
- Lucene: Mark 'lucene-expression' as 'provided' in pom.xml #4859
- Lucene: Add
RamUsageEstimator#sizeOf(Object)
to forbidden APIs as it can be very slow #4975 - Snapshot/Restore API: Add stats for running snapshot to get snapshot API #4946
- Snapshot/Restore API: Fix handling of
include_global_state
parameter to make it consistent #4949 - Snapshot/Restore API: Add throttling to snaphost and restore operations #4855
- Snapshot/Restore API: Added ability to get snapshot status for running snapshots #5123
- Field data: Add circuit breaker for parent/child id cache #5325
- Field data: Move parent/child over from id cache to field data #4930
- Field data: Fix possible discrepancy with parent/child circuit breaker #5526
- Merging: Ensure merges to not happen when indexing a document or executing flush #5319
- Merging: Move to use serial merge schedule by default #5447
- Mapping API: Support
externalValue()
in more mappers #4986 - Mapping API: Shingle filter exposes
filler_token
#4307 - cat API: Added
/_cat/thread_pool
endpoint #4907 - cat API: Changed headers to be more consistent and complete #4852
- Plugins: Allow to add a version to plugins #2784
- PluginManager: Remove useless URL object instantiation #5206
- Plugins: Serving
_site
plugins do not pick up on index.html for sub directories #4845 - Discovery: Unicast discovery favours a ping response with master over a ping response without master #5413
- Discovery: Node join/leave events should have higher than URGENT priority #5062
- Allocation: Add explanations for all allocation deciders #4934
- Recovery: Don't throttle the translog stage of recovery #4890
- Store Throttling: Updating throttle type setting was not applied upon updates #5392
- Cluster state: Improved multiple cluster state processing on receiving nodes #5139
- Cluster update settings API: Allow to dynamically change
discovery.zen.publish_timeout
#5063 - Suggestions: Speed up phrase suggestion scoring #5396
- Rest GET field mapping API: Change behaviour to be like other REST endpoints #4738
- Percolation: Add MemoryIndex reuse when percolating doc with nested type #5332
- Analyze API: Added support for char filters #5148
- Delete by query API: Return single failure reasons #5093
- DistanceUnit: Added support for nautical miles #5088
- ByteSizeValues: Added peta and tera to
RestTable.renderValue()
#4871 - Shard startup: Bulk process of shard started/failed should not execute on already processed events #5061
- Transport: Remove redundant version checks in transport serialisation #4731
- Packaging: Move systemd files from
/etc
to/usr/lib
#4029 - Query Parsing: Clean the query parse context after usage #5475
- Java API QueryBuilder: Add
hasClauses
method to BoolFilterBuilder #5472 - Java API: Allow iteration over
MultiGetRequest#Item
instances #5470 - Internal: Use BytesReference to write to translog files #5463
- Internal: BytesReference usage to properly work when
hasArray
is not available #5455 - Internal: Add tracking of allocated arrays to optionally reuse data structures #5264
- Internal: Removed thread local recycler in favor of paged based recyclers #5254
- Internal: Reuse pages more agressively #5299
- Internal: Improved lifecycle control for pooled instances #5214
- Internal: Rewrite
BytesStreamOutput
to useBigArrays
/ByteArray
#5159 - Testing: Randomized number of replicas used for indices created during tests #5394
- Testing: Randomized number of shards used for indices created during tests #5356
- Testing: Run REST tests against multiple nodes #5003
Bug fixes
- Aggregations: Date histogram bucket should return the date key in UTC #5477
- Aggregations: Scripts in aggs can't return more than 4 values #5414
- Aggregations: Invoke
postCollection
on aggregation collectors #5387 - Aggregations: Fixed a bug in date_histogram aggregation parsing #5379
- Aggregations: Terms aggregations order wrong when sorting NaN #5236
- Aggregations:
Missing
aggregation fails when object containing aggregation field is missing as well #5190 - Aggregations:
date_histogram
against empty index results inArrayIndexOutOfBoundsException
#5179 - Aggregations: date_histogram aggregation and time_zone #5057
- Aggregations: aggregation error ArrayIndexOutOfBoundsException #5048
- Aggregations: Aggregations could return different counts when invoked twice in a row #5021
- Aggregations: Add camel-case support in aggregation fields #5009
- Aggregations: Sorting terms agg by sub-aggegation doesn't respect asc/desc when executing on a single shard #4951
- Query API:
match_phrase_prefix
no supports slop again #5437 - Query API: Edit distance allowed values for
fuzzy_like_this
query #5292 - Query API: Terms filter returning wrong results due to wrong caching #5363
- Query API: Add support of field boost in common terms query #5258
- Query API: Multi match query fails to highlight with new cross field mode #5246
- Query API: Make
_exists_
/_missing_
behave consistently with exists/missing #5142 - Query API: Source filtering with wildcards broken when given multiple patterns #5133
- Query templates: Mustache templates should escape JSON, not HTML #5473
- Query API: Allow specifying nested fields in
simple_query_string
query #5110 - Query API: Parent / child queries force default similarity #4977
- Query API: Made
multi_match
query parsing more strict #4964 - Query API: filtered query parses _name incorrectly #4960
- Query API: Cache date range filters that use
now
with rounding #4947 - Highlighting: Using
forceSource
on highlighting field option doesn't have any effect when set using the Java API #5220 - Highlighting: Executing on a wildcard field name uses the same highlighter for all fields that match #5175
- Highlighting: Executing on a wildcard field name causes the wildcard expression to be returned rather than the actual field name #5221
- Highlighting: Postings Highlighter does not highlight trailing wildcard matches #5127
- Suggestions: bugfixes for the completion postings format #4973
- Suggestions:
NullPointerException
in completion suggester requests #4788 - Percolation: Disabled query size estimation in percolator #5372
- Percolation: Fast vector highlighter not working properly #5129
- Percolation: Fix highlighting in percolate existing doc api #5108
- Percolation: Fix
highlight_query
in percolator #5097 - Percolation: Make highlight query also work in the percolate api #5090
- Percolation: Percolator response should always return the
matches
key #4881 - Aliases API: An alias should accept a numeric routing value #5471
- Snapshot/Restore API: Added retry mechanism to get snapshot method #5411
- Snapshot/Restore API: The delete snapshot operation on a running snapshot may take a long time on large shards #5242
- Snapshot/Restore API: Restore of an existing index using rename doesn't completly open the index after restore #5212
- Snapshot/Restore API: Restore of an existing index doesn't restore mappings and settings #5210
- REST API: Support source parameter
- scroll API supports source parameter #4941
- percolate API supports source parameter #4903
- mtermvectors API supports source parameter #4902
- msearch API supports source parameter #4901
- mpercolate API supports source parameter #4900
- mget API supports source parameter #4892
- Fix potential NPE when no source and no body #4924
- Tribe node: Blocking writes on a tribe node creates a "blocks" tribe #5389
- Field data: Fix issue where circuit breaker was always reset to 80% upon startup #5334
- Field data: Circuit breaker could create
NullPointerException
#5326 - Internal: Fix possible exception in
Strings.toCamelCase()
method #5207 - Internal:
XContentBuilder.yamlBuilder()
incorrectly returns a SMILE builder #5185 - Internal: Return correct
XContentParser
for SMILE #5510 - Internal: SearchContext is occasionally closed prematurely #5165
- Plugins: Fixed possible
NullPointerException
inPluginsService
when starting elasticsearch with a wrong user #5195 - Plugins: Upgrading analysis plugins fails #5030
- GetFieldMappings API: The API did not return field mapping if the index is not hosted on the node executing it #5177
- Delete by query API: Exposed shard id related to a failure in delete by query #5125
- Internal: Fix
AndDocIdSet#IteratorBasedIterator
to not violate initial doc state and prevent undefined search context behaviour #5070 - Scripts:
ScriptBytesValues.currentValueHash
was wrong and could lead to performance problems #5004 - Mapping API: Added
fields
support togeo_point
andcompletion
field type #4963 - HotThreads: Execution could fail with
ArrayIndexOutOfBoundsException
if busiestThreads > actual threads #4927 - Cluster State API: Filtered cluster state still returns stub elements #4885
- Testing:
BalancedShardAllocator
makes non-deterministic rebalance decisions #4867 - Rivers: Rivers might not get started due to missing
_meta
document #4864 - Discovery: Prevent possible starvation due to exception if sending a ping throws exception #5440
- Bulk API: Enabling
_timestamp
mapping could cause bulk API to fail entire request instead of single operation #4745 - Bulk API:
BulkProcessor
process every n+1 docs instead of n #4265 - Packaging: Debian Package sets /etc/elasticsearch/* to 0644 #3820
- Packaging: Add timeout to shutdown with KILL signal for RPM #5020
- Geo: Allow distance unit for geohash precision #5449
- Settings: Non-master nodes do not update the
ElectMasterService
when dynamically setting min_master_nodes #5494