Elasticsearch 1.1.0
Release Notes
Breaking changes
- Query API: Removed custom_score and custom_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 to multi_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 to simple_query_string query #5208
- Query API: Add locale parameter to query_string and simple_query_string #5131
- Query API: Add support for lowercase_expanded_terms flag to simple_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 in ReferenceManager#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 use BigArrays/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 in ArrayIndexOutOfBoundsException #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 in PluginsService 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 to geo_point and completion 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