Warmers do not load field data cache for sorting on new segments
fixes #2649
delay reroute only after we publish that a shard has started
Optimize conversion to a cacheable DocIdSet
Fix ScriptFilter cache key calculation

Fixes #2651
add 0.20.6 ver
add note on not using totalSize in merge
Clear cache: allow to invalidate specific filter cache keys
closes #2653
Simplified range syntax when using a query string
closes #2655
initial facet refactoring
the main goal of the facet refactoring is to allow for two modes of facet execution, collector based, that get callbacks as hist match, and post based, which iterates over all the relevant hits
it also includes a some simplification of the facet implementation
fix check on which settings to change on
allow to access the global node settings in a static manner
Fix race condition in adding TimeoutClusterStateListener

Fixes #2658
add our own bloom filter implementation
uses more hash iterations, yet require less memory for the same fpp
relates to #2411
Expose CJKWidthTokenFilter and CJKBigramTokenFilter

Closes #2660
Fixed nested facets with filters.
refactoring getter/setters

Fixes #2657
Added Testcase and BugFix fixing #2626 where GeoShape intersects filter omitted matching docs.

SpatialPrefixTree#recursiveGetNodes uses an optimization that prevents
recursion into the deepest tree level if a parent node in the penultimate
level covers all its children.  This produces a bug if the optimization
happens both at indexing and at query/filter time.

This patch fixes the bug by disabling the optimization at indexing time
(to avoid adding overhead for query-heavy workloads).

See LUCENE-4770 for reference
Remove backported Lucene 4 spatial code in favor of the released version in Lucene 4.1
Added support for sorting by fields inside one or more nested objects.

The sorting by nested field support has the following parameters on top of the already existing sort options:

nested_path - Defines the on what nested object to sort. The actual sort field must be a direct field inside this nested object. The default is to use the most immediate inherited nested object from the sort field.
nested_filter - A filter the inner objects inside the nested path should match with in order for its field values to be taken into account by sorting. Common case is to repeat the query / filter inside the nested filter or query. By default no nested_filter is active.
Either the highest (max) or lowest (min) inner object is picked for during sorting depending on the sort_mode being used. The sort_mode options avg and sum can still be used for number based fields inside nested objects. All the values for the sort field are taken into account for each nested object.

Closes #2662
don't exclude services otherwise es.jar doesn't include the SPI information to load XBloomPostings