0.17.0: zip / tar.gz / issues
Release Notes:
Upgrading requires a full cluster restart. Note, once upgraded, there is no option to downgrade to previous version as the index files format will be also upgraded (new lucene version).
Breaking changes:
- Query Parser Module Refactor (#994)
- ‘,’ can be used in type name (#996)
- Analysis: Phonetic filter
replace
flag is inverted, fix (changes default behavior now, to follow docs) (#1127) - Field Cache: Change default type to
resident
fromsoft
(#958) - Filter Cache: Introduce new
node
level filter cache and make it default (#959) - Node Stats: Remove low level transport stats from response (#979)
- Thrift: Upgrade to thrift 0.6.1 (#986)
New features:
- Upgrade to Lucene 3.2 (#997)
- New default merge policy –
tiered
(#998) - Indices exists API (#1022)
- Realtime GET (#1060)
- Multi GET API (#1068)
- Upgrade to Lucene 3.3 (#1083)
- Nested Object/Docs Mapping and Searching (#1095)
- Nested Objects Facets Support (#1098)
- MappingCharFilter (#1106)
- Allow to disable automatic date detection (#1051)
- Aliases:
- Get API: Make type optional (#1061)
- Indices Segments API: Internal segments info of shard level Lucene indices (#1064)
- Mapping: Document’s Field level boosting (#920)
- Nodes APIs: All node APIs to allow to match on nodes based on addresses, names, and attributes (#1125)
- Plugins: Allow plugins to serve a _site, automatically download github plugins (#978)
- Query DSL: nested filter support (#1102)
- Search: Optimize (perf) execution of global facets (#889)
- Zen Discovery: Add
minimum_master_nodes
setting helping with split brains (#1079)
Enhancements:
- (Small) optimization to has_child filter (#880)
- Week Interval on Date Histogram Facet (#904)
- Simplified Disable Flush operation (#906)
- Upgrade to jackson 1.8.1 (#941)
- Request for more values identified as boolean for the boolean field type –
no
(#984) - Analyzers for FLT / MLT (#1031)
- Add ec2 specific network hosts (#1037)
- MappingCharFilter (#1107)
- PatternReplaceFilter (#1108)
- Closed indices should not cause block failures on some APIs what executing against _all indices (#1010)
- Add ‘other_terms’ option for terms facet (#1029)
- Allow to configure node name using
node.name
(on top of currentname
) (#1126) - Aliases: Validate alias filter before adding it (#993)
- Analysis:
- Expose light and minimal language token filters (#908)
- Stop words config to allow for automatic lang expansion (#909)
- Word Delimiter Token Filter (#918)
- All analysis components that accept stopwords to allow to load stopwords from a file (#919)
- Synonym Token Filter (#900)
- Pattern Tokenizer (#928)
- Add elision token filter (#930)
- Phonetic filter to support
cologne
encoder (#942) - Improve custom analyzer construction time (#989)
- Add
reverse
andskip
topath_hierarchy
tokenizer (#999) - expose Lucene KeywordMarkerFilter (#1052)
- expose Lucene StemmerOverrideFilter (#1053)
- backport KStem token filter from Lucene (#1041)
- Create Index API: Better logic to wait for ack for indices being created on nodes (#885)
- Field Cache: Allow to set
index.cache.field.expire
when usingresident
type (#957) - Get Mapping: Better error response when asking for specific index type (#991)
- Mapping: non-string type field level boosting (#1097)
- Node Info / Stats: Add max_file_descriptors (info) and open_file_descriptors (stats) (#1113)
- Node Stats: Add number of server open channels for transport and http (#1115)
- Numeric Types: By default, omit_norms (boosting) is set to true, automatically set it to false if explicit field mapping boosting is provided (#1021)
- Phonetic Filter : Double Metaphone, partial implementation (not using the secondary code) (#924)
- Query DSL:
- Allow to set boost on has_child query (#884)
- Fuzzy Query – add max_expansions (#905)
- Fuzzy query support for numeric / date types (#907)
- Text Queries (boolean, phrase, and phrase_prefix) (#917)
query_string
– Expose QueryParser#setAutoGeneratePhraseQueries (#964)- Ids Filter / Query – allow to execute it with no type defined / several types (#969)
- Add limit filter (#976)
- Simplify not filter to accept the filter directly, without a wrapping
filter
element (#992)
- RabbitMQ River: Upgrade to rabbitmq driver 2.5.1 (#1112)
- Scripting: Optimize to native script execution when using just
doc.score
(#952) - Search: When a search request failed completely (all shards fail) return a proper HTTP status code (#1035)
- Shared Gateway: Allow to dynamically update the
snapshot_interval
using update settings (#954) - TCP: Change the default connect timeout to 2s (#1104)
- Transport: Improve concurrency when connecting to several nodes (#1007)
- Unicast discovery: Improve initial ping connection to nodes to be more lightweight (#1028)
- Update Settings:
Bug fixes:
- include_in_all not overridable in objects (#883)
- Sort missing wrongly sorts negative values (#899)
- Possible failure to start a river after cluster restart (#902)
- Failure when applying failed shards during local gateway allocation (#903)
- Possible failure when using TransportClient (with sniffing) (#923)
- Deleting and recreating a new index with dynamic mapping can cause type failures (#931)
- wrong type returned by date_histogram (#932)
- IBM J9 failure to serialize nodes info (#950)
- NPE when using “not” filter (#953)
- fix plugin.bat classpath (#1002)
- Merging complex objects / types (geo, objects) can cause failure to lookup field names (without type prefix) (#1016)
- Numeric values always omit norms (boosting), regardless of the configuration set (#1020)
- River might not start properly after cluster shutdown (timing) (#1038)
- Misbehaving “missing” field in facet results (#1070)
- Without pre-creating index, heavy write rates OOM with too many threads (#1081)
- java.lang.ArrayIndexOutOfBoundsException when indexing a doc (#1094)
- Uneven distribution of search requests across shards (#1103)
- Native (java) process memory leak (#1118)
- Index / Delete API when causing auto index creation can cause buffer data overrun (#1122)
- Analysis: Regression (0.16.1), Camel cased filters / tokenizers failed to load in custom analyzer (#937)
- And/Or Filter: Possible failure when inner filter does not match any docs (#892)
- Delete API: Using refresh parameter might not refresh delete operation on replica (#1047)
- Filter Cache:
soft
filter cache can cause bad memory behavior (#946) - Mapping: dynamic templates of object type do not initialize some mapping data structures (like analyzers lookup) (#929)
- Mapping – Date Format: 3 or more custom date formats fail using ‘||’ delimiter (#977)
- Parent Child: complex parent child mapping (>2 hierarchy) might fail (#1039)
- Put Mapping: Fix rare case where the response will timeout (ack=false) even though it has been applied (#990)
- Query DSL: Span Term Query wrongly parses when boost is provided, causing using it in span or to fail (#1032)
- Scripting – mvel: Fix thread safety misuse when compiling scripts (#886)
- Search:
- Search API: filter element should not be applied to global facets (#888)
- Transport Client: Adding more nodes causes more scheduled reconnect tasks (#1062)
- auto_expand_replicas: [0-all] can cause data loss when nodes are removed (#934)