Elasticsearch 1.0.0.Beta1
See issues on GitHub
Release Notes
Breaking changes:
- Reject put mapping requests when the root node does not have the same name as the type #4038
- Prohibit adding a parent type mapping to an existing type #3849
- Reject indexing requests which specify a parent, if no parent type is defined #3848
- Remove get index templates deprecated methods #3681 (affects Java API only)
- Remove RestActions#splitXXX(String) methods in favor of strings#splitStringByCommaToArray #3680 (affects Java API only)
- Rename matched_filters to matched_queries and added support for named queries #3581 & #3644
- Add option to disable printing out a human readable version of size and time values like "1mb" & "2m". The human readable values are now turned off by default #3432 & #3541
- Rename existsAliases to aliasesExist #3330
- Close/Open Index API support multiple indices and wildcard on index names #3217 (affects Java API only)
- Add a minimum_should_match parameter when Common query has only high frequent terms #3188
- Distributed percolator engine #3173
- Get mapping response always returns the index name as root node #3172
- Change Version comparison methods to be more readable #3124 (affects Java API only)
- Inline string query boosting (i.e., "field:value^7") was ignored if one specified a query level boost #3024
- Completion Suggester: Reject non-integer weights on indexing #3977
- Deb/RPM: Disable immediate restart on package upgrade #3685
- Flush API: remove refresh flag #3689
- Optimize API: Remove refresh flag #3690
- Thread Pool: Remove blocking type option #3531
New features:
- Distributed percolator engine #3173
- Add document highlighter to percolate api #3574
- Add scoring support to percolate api #3506
- Add multi percolate api #3488
- Add size option to percolate api #3440
- Add count percolate api #3430
- Percolating existing document api #3380
- Add more percolate statistics #3883
- Add facet support to percolate api. #3851
- Improve alias support in the percolate api #3420
- Percolate queries are stored under the ".percolate" type #4090
- _cat API
- GetFieldMapping API #3941
- Disk-based field data #3806
- Added scripts to simplify running Elasticsearch as a service on Windows #3716
- New highlighter based on lucene postings highlighter #3704, #4042 & #4103
- Clear Scroll API #3657
- Shard allocation to take into account free disk space #3480
- Add highlighting to support to suggestions #3442
- Function score query #3423 , #3872, #3892 & #3464
- Add version support to get and mget APIs #3404
- Completion prefix suggestion #3376
- Add pending cluster tasks API #3368
- More fine grained control over _source retrieval, in get, mget, get_source, explain & search API #3301 & #3886
- Term vector API to return the term vectors for one or more documents #3114 & #3536
- Automatic reload file based scripts when changed #4062
- Allow to highlighting using different queries than the search query #3630
- Indexing:
- Aliases:
- Sorting:
Enhancements:
- The standard analyzer now uses an empty stop word list by default. Existing indices are not affected #3775
- URI routing parameter support with multi search API #4058
- URI routing parameter support with Bulk API #4053
- URI routing parameter support with Bulk API #3996
- Expose the Path, dev and mount options of the file stats via the Java API #4004
- Improved acknowledgement infrastructure:
- Generic cluster state update ack mechanism #3786
- Update cluster settings api to support acknowledgements #3995
- Cluster reroute api to support acknowledgements #3985
- Delete mapping api to support acknowledgements #3984
- Update index settings api to support acknowledgements #3983
- Delete warmer api to support acknowledgements #3833
- Put warmer api to support acknowledgements #3831
- Introduce stop timeout and start type for windows service #3962
- Rename and document "index.mapping.date.parse_upper_inclusive" setting for date fields #3914
- Add support for Lucene SuggestStopFilter #3913
- Added a generic count down mechanism, to simplify the implementation of multiple APIs #3910
- Set queue sizes by default on bulk/index thread pools #3888
- Migrate from Trove to Hppc #3858
- Upgrade to Lucene 4.5 #3853
- Better handling of empty filters while parsing #3838
- Support year units in date math expressions #3828
- Parent / child queries now also work with the count, delete by query and explain APIs #3822
- Add support for @shard_size@ for terms & terms_stats facets #3821
- Accept dynamic templates with only a match type criteria #3814
- Add version support for analyzers to allow backward compatibility in future releases #3790
- Cat shards/indices don't properly handle index parameter #3758
- Allow _boost field to be indexed and stored in mapping #3752
- Discovery to support a timeout waiting for other nodes to processing new cluster state #3736
- Add "node.mode" with "local" or "network" options #3713
- Better handling of /_all/_search when no indices exist #3710
- Add dedicated Suggest Thread Pool #3698
- span_near query should accept slop = -1 (bis) #3673
- Include ARMHF Version of Java in JDK_DIRS #3659
- CompletionSuggest should throw an exception if input string contains a reserved character. #3648
- Allow to control the number of processors sizes are based on #3643
- BytesStreamOutput default size should be 2k instead of 32k #3638
- Not allowing index names in request body for multi-get/search/bulk when indices are already given in url #3636
- On Solaris, default LZF compress type (for transport) can cause segfault #3634
- FlushNotAllowedEngineException during optimize #3631
- Make the acceptable compression overhead used by MultiOrdinals configurable and default to FASTEST #3623
- Remove o.e.common.UUID and replace it with a simplified version #3605
- StackOverflow in completion suggester when using long input strings #3596
- Install site plugin with custom url doesn't filter directory #3582
- Improve refresh logic when replica move to started #3573
- Smarter default for index.index_concurrency, based on the number of available cores with an upper bound #3546
- Bound processor size based calculations to 32 as safety measure not to create too many threads #3545
- Better exception handling in actions when forking to a thread pool #3524
- Expose statistics for completion suggest #3522
- Make RestSearchAction#parseSearchXXX(RestRequest) public #3499
- Raise default DeleteIndex timeout #3498
- More helpful error when specifying side=BACK on edge n-gram tokenizer/tokenfilter #3489
- Change default operation_threading to thread_per_shard to improve scalability #3483
- Suggest should ignore empty shards #3473
- Support FuzzySuggester for completion suggest #3465
- Expose IndexWriter#setUseCompundFile via Engine settings. #3461
- Improve filtering by _parent field #3454
- Streamline Search / Broadcast (count, suggest, refresh, ...) APIs header #3441
- Add client method to get a specific index template #3439
- HighlightBuilder should be consistent with SearchContextHighlight.Field options #3435
- Added index templates REST support for HEAD and a 404 status code if not existing #3434
- Search on a shard group while relocation may fail in some rare cases #3427
- Plugin Manager should support -remove group/artifact/version naming #3421
- Reroute eagerly on shard started events #3417
- Delete API ack to wait also for actual deletion of shards from disk #3413
- Forbid usage of new StringReader(String) #3411
- Improve how aliases are handled in the cluster state. #3410
- Use Analyzer.tokenStream(fieldName, text) instead of Analyzer.tokenStream(fieldName, new FastStringReader(text)) #3409
- Open/Close indices to support acknowledgement from other nodes #3400
- auto_expand_replicas causing very large amount of cluster state changes when a node joins or leaves the cluster - causing the master to become unresponsive #3399
- RegexpQueryBuilder should implement MultiTermQueryBuilder #3392
- Add Git build info when we build a distribution #3370
- Expose recursion level for Hunspell token filter (post Lucene 4.4 upgrade) #3369
- Add optimize thread pool (size 1) dedicated to perform explicit optimize API #3366
- Cluster State Update APIs (master node) to respect master_timeout better #3365
- Zen Discovery Cluster Events to have Priority.URGENT #3361
- Highlighting doesn't work with term vectors enabled and some complex queries #3357
- _bulk response for delete operations lack the @found@ field #3320
- (Java) Using primitive arrays instead of Object with map/builder #3279
- Add a score_mode to the rescore #3258
- Lookup Terms Filter ignores the routing parameter #3233
- Add Arabic/PersianNormalizationFilters from Lucene #3231
- Geohash filter format #3229
- Merge integer field data implementations together #3220
- Lookup Terms Filter _cache parameter not being taken into account #3219
- Geohash filter #3218
- Expose fielddata "fields" param in standard in indicesStatsRequest #3205
- Suggest API infrastructure exposes more information for plugins #3199
- Expose timeout in nodes_info REST API #3191
- Compress PagedBytesAtomicFieldData's termOrdToBytesOffset #3186
- Pack the ordinals in field data for single valued fields #3185
- Introduce a dedicate JAVA get mapping and get warmers API and use it to improved performance of existing REST API #3171
- custom_score could support a filter directly #3167
- Allow specifying the compound format ration via the "index.compound_format" settings #3166
- Missing/exists filters should also work for objects #3141
- Update the plugin manager's help #3112
- Store _version as a numeric doc values field #3103
- No matched_filters being returned when using named filters #3097
- Make suggest API implementations pluggable #3089
- Integrate forbiddenAPIs checks into ElasticSearch #3059
- Date parsing is locale dependant with no way to configure #3047
- Add more informative toString method to StoreDirectory #3011
- REST Get Source API #2993
- Update API doesn't support both script and doc #2967
- Return proper status code in case of failure for delete by query api #2963
- Allow plugins to add HTTP headers to responses. #2540
- enable GET /_template to show all templates #2532
- Allow using multiple predefined date formats #2132
- Highlighting returning an excerpt even with no highlights #1171
- Add the pattern_capture token filter #3340
- Expose LimitTokenCountFilter in ElasticSearch #3013
- Have the hunspell filters do dedup by default #2969
- Completion Suggester: Allow payload to be a value #3550
- Use Recovery Throttling by default #3035
- Use Merge Throttling by default in #3033
- Raise Search ThreadPool Size to 3x availableProcessors #3032
- Allow to disable allocation on the index level #3031
- elasticsearch.yml doesn't accept _lo_ or _lo0_ for network.host #2924
- Delete Template: When deleting with * and no templates exists, don't 404 #3723
- Highlighting: Add NGramTokenizer and NGramTokenFilter to broken chains #3118
- Allow to change _source exclude/include at runtime #3491
- Allow to update/merge the dynamic flag #3384
- Mget: the fields parameter should accept a string #3270
- Improve has_parent & has_child filter execution #3034
- Improve memory usage of the parent-child id cache #3028
- Make parent/child score mode naming consistent #3026
- Plugin Manager: add silent mode #3628
- Common terms query parameters inconsistent #3074
- Support SpanMultiTermQueryWrapper #2400
- REST: Add newline to response when using pretty flag #3748
- Segments API: Support merge id on segments (groups segments being merged) #3904
- Support "missing" specific handling for sorting, include _last, _first, and custom value (for string values) #896
- Support nested sorting for sorting by script and geo distance sorting #3044
- Nested filter with nested sorting doesn't use missing value. #3020
- Terms Filter Lookup:
- Have a separate transport channel for recovery #3954
- Add a dedicated ping transport channel #3362
Bug fixes:
- Fix for LUCENE-5330 pruning the IndexWriter queue #4093
- Added a protection against double closing of xContent builders #4100
- Allow setting "indices.recovery.concurrent_small_file_streams" dynamically #4094
- Configuring a keep words token filter to load words from file results in error message #4073
- Fix possible NPE in ClusterState.toString() #4061
- Error when using aliases on a MoreLikeThisQuery #4045
- Fix bug in TransportShardReplicationOperationAction retry mechanism #4019
- Not resending shard started messages when shard state is POST_RECOVERY and master died before processing the previous one #4009
- The +index pattern without a wildcard in the index list is handled inconsistently #3979
- NullPointerException using "has_child" filter after upgrade to v0.90.5 #3965
- has_child can cause an infinite loop (100% CPU) when used in bool query #3955
- Awareness attributes can't be reset once they are set. #3931
- Settings queue_size on index/bulk TP can cause rejection failures when executed over network #3929
- service.bat incorrectly assumes JRE will have a 'client' directory #3928
- service.bat fails if ES_HOME contains whitespaces and parentheses #3906
- No results are found with specific use case when using a custom word_delimiter filter #3898
- elasticsearch-service-x64 unable to reflect ES_HEAP_SIZE #3884
- "bin/plugin --install" reports success for aborted installations #3882
- Multiple tokens at the same position not working correctly with match query if AND operator is used #3881
- Search using BooleanQueryBuilder and GeoShapeQueryBuilder results in "Current context not an ARRAY but OBJECT" #3878
- Get term vector api broken for missing payloads #3873
- plugin -remove deletes bin directory #3847
- pattern_capture token filter does not throw error with patterns missing. #3808
- multi_match lenient query with boosted field crashes with NullPointerException #3797
- service.bat doesn't properly set the memory limits for installed services #3785
- Use the new index UUID to ensure mapping update events from older indices are not applied to new indices with the same name #3783
- Quickly deleting and creating an index with the same name could cause errors due to lingering shard state change events #3778
- Update Operation might hang (rarely) when retrying on invalid shard state #3769
- Incorrect JVM_DLL environment variable definition in service.bat #3760
- Boost doesn't seem to work for prefix queries #3754
- Missing completion fields in nodes stats #3746
- service.bat should handle JRE not just JDK for starting Elasticsearch #3739
- service.bat fails unexpectedly if JAVA_HOME contains spaces #3725
- Geo-distance sorting should accept the "sort_mode" parameter #3717
- Elasticsearch startup script doesn't work from directory with spaces in path #3712
- NestedFieldComparator misses to copy slot if root doc has docID==0 and 'Avg' is used #3706
- Briefly delete manifested mapping type on a node without reason #3697
- ElasticSearch shell script fails due to unsupported syntax on non-Bash shells #3691
- Alias filter not applied when using 'multi-index' syntax with wild card in URL #3677
- Rare race condition when introducing new fields into a mapping #3667
- JsonGenerationException thrown in SuggestResponse#toString method #3661
- CompletionStats can cause resource leak since requested searchers are not closed #3652
- Validate query api parses wrong date range query when using "now" #3629
- Explain api parses wrong date range query when using "now" #3626
- Count api parses wrong date range query when using "now" #3625
- NullPointerException in CompletionStats #3619
- BalancedShardsAllocator prematurely modifies @unassigned@ shards list #3610
- NullPointerException when closing an already closed index #3601
- ArrayIndexOutOfBoundsException when using empty preference parameter #3591
- SimpleHTMLEncoder to not encode non-ASCII chars #3587
- Count and Search API status codes are inconsistent (count does not return 400) #3585
- Forced awareness fails to balance shards #3580
- Cluster Setting update can hang if gets settings which are not dynamically updatable #3560
- NullPointerException during concurrent merges #3555
- Plugin Manager can not download _site plugins from github #3551
- Wrong analyzer used when indexing dynamic property #3544
- Date math not working correctly due to lower casing #3540
- Dynamic templates from an index template are skipped if a new type already have dynamic templates #3538
- Setting index/bulk thread pools with queue_size can cause replica shard failures #3526
- Match all query re-use could cause scoring inconsistencies #3521
- NullPointerException during discovery #3515
- Errors (like StackOverflow) can cause a search context to not be released #3513
- A previous dynamic change to mapping may cause a Put Mapping request to return prematurely #3508
- Concurrent Put Mapping API to multiple indices/types may return prematurely #3507
- Phrase queries automatically generated by query string ignore boosts #3503
- PutMapping requests were prematurely acknowledged if other nodes were quicker than master #3487
- FastVectorHighlighter fails with StackOverflow on terms with large TermFrequency #3486
- Null pointer exception for POST mode facets if facet_filter accepts no documents #3479
- Failure to execute search request with empty top level filter #3477
- _default_ mapping change is validated is if it was a normal type #3476
- When replacing an existing _default_ type, the old one get merged into the new #3474
- NPE in BytesRefOrdValComparator #3470
- Multi-field and suggest api error #3469
- Plugin script does not exit with exit code != 0 on error #3463
- MLT returns all documents if non of the fields in the document are supported #3453
- Older version of start-stop-daemon don't support --status #3452
- Null pointer exceptions when bulk updates max out their retry on conflict #3448
- Retry on conflict execution of updates *within* bulk request was off by one #3447
- Using parent property in update API with doc_as_upsert=true does not work #3444
- Pid file not properly overwritten #3425
- Query/Filter Facet should support 64bit counter, not 32 #3419
- MoreLikeThisFieldQueryBuilder defaulted failOnUnsupportedField inconsistently to the REST api #3402
- Dynamically updating index.gc_deletes not working #3396
- FuzzyLikeThisFieldQueryBuilder defaulted failOnUnsupportedField inconsistently to the REST api #3374
- Hang when modifying the cluster state and an uncaught exception is thrown #3364
- NullPointerException when trying to add single alias without index or alias #3363
- Can't use empty replacement string in pattern_replace filter #3359
- Missing filter works differently in top-level versus filtered query #3356
- Thai language analyzer ignores stopwords configuration setting #3342
- Fix offsets handling of the n-gram and edge n-gram tokenizers and token filters #3317
- Closing an index right after it has been creating leaves it in an unopenable state #3313
- Setting a geo_shape field to null caused errors while parsing #3310
- Script based sorting is applied only after pagination #3309
- The top_children, has_child and has_parent query can cause error when cached. #3290
- Partial fields filtering may return false matches and doesn't allow selecting complete objects #3288
- Debian package dependencies can result in java uninstallation #3284
- Parent is ignored in exists request #3276
- Mget aborting request if index missing #3267
- The parent option is ignored in delete requests #3257
- Error on MoreLikeThis API with Non Stored Numeric Fields #3252
- Invalid "ElasticSearchIllegalArgumentException[The required text option is missing]" Error #3247
- Index Warmer Setting is not dynamic anymore on 0.90.1 #3246
- Geoshape filter can't handle multiple shapes #3242
- IndexUpgraderMergePolicy doesn't assign a field number to _version correctly #3237
- Deleting or closing an index doesn't clean the memory properly #3232
- ElasticSearch 0.90 fails when "highlight" contains a field of type "long" #3211
- Indices stats "fielddata" param was used to control idCache stats, not fieldData #3204
- Don't reset TokenStreams twice when highlighting #3200
- Field data should support more than 2B ordinals per segment #3189
- NPE in query execution of boolean filter in 0.90.1 #3177
- Timestamp index settings incorrectly stored #3174
- MVEL infinite loop in its error handling causing cluster to degrade #3168
- has_child & has_parent queries don't take deletes into account #3144
- FVH can result in massive CPU & RAM usage if MultPhraseQuery is large #3142
- FVH produces StringArrayIndexOutOfBounds if stored field is used #3140
- has_parent query returning no results with multi level child docs. #3139
- Update api doesn't support versioning #3111
- Highlighting does not fail when the field to highlight is absent #3109
- Dates passed to the script terms facet are now in the default time zone #3091
- "No index mapper found for field" error while bulk indexing #3088
- String sorting incorrect after reindex #3078
- ArrayIndexOutOfBoundsException in org.elasticsearch.index.fielddata.ScriptDocValues.Strings #3051
- Mlt api doesn't serialize routing #3039
- Phrase suggest direct generator possibly not obeying min_word_len 0.90 #3037
- DFS modes can cause undefined behaviour in 0.90 #3012
- NPE when using java client with DFS_QUERY_THEN_FETCH #3008
- Get doc fails for some array fields #3000
- BytesRefOrdValComparator ignores highest value in a segment during binarySearch #2991
- PrimaryBalance in BalancedShardsAllocator can trigger unneeded relocation #2984
- Percolating an item of a type that has a default _ttl mapping configured throws an error #2975
- BalancedShardAllocator looses custom settings if un-related settings changed #2973
- TransportAnalyzeAction causes StringIndexOutOfBoundsException on first attempt to analyze a numeric field #2953
- Source exclusion mapping prevents geo shape coordinates to be returned in query result source field #2944
- _source includes/excludes has no effect when getting documents by ID #2829
- Debian package is now lintian compatible #2515
- CompletionFieldMapper ignores path: just_name #3669
- Elasticsearch (0.90.2) fails in large core (Ex: ~48) machine #3478
- Highlighting: Highlighter still fails if broken analysis chains are used with fast vector highlighter #3006
- Java API: Setting track scores does not affect scan search type #3949
- Parent-Child: Properly cache parent child queries #2971
- Plugins: Automatic detection of site plugins fails to copy over the content to @_site@ #3707
- Query DSL: External terms doesn't work with _id field #3063
- Query DSL: field_masking_span query parser not registered #3007
- Query DSL: span_near query not working #2994
- Query DSL: Wrong result on bool filter with 'must' and 'should' clauses #2979
- Query String: Support multiple fields regexp queries #3901
- Regresion: geo distance filter - filters out proper geohashes #3073
- Thread pool: rename capacity to queue_size in node info response #3161
- TransportAnalyzeAction causes IllegalArgumentException: NumericTokenStream does not support CharTermAttribute #2952