2019-07-24 09:05:23 -04:00
|
|
|
[[release-highlights-7.3.0]]
|
|
|
|
== 7.3.0 release highlights
|
|
|
|
++++
|
|
|
|
<titleabbrev>7.3.0</titleabbrev>
|
|
|
|
++++
|
|
|
|
|
|
|
|
//NOTE: The notable-highlights tagged regions are re-used in the
|
|
|
|
//Installation and Upgrade Guide
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== Voting-only master nodes
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
A new {ref}/modules-node.html#voting-only-node[`node.voting-only`] role has been
|
|
|
|
introduced that allows nodes to participate in elections even though they are
|
|
|
|
not eligible to become the master.
|
2019-07-24 09:05:23 -04:00
|
|
|
The benefit is that these nodes still help with high availability while
|
|
|
|
requiring less CPU and heap than master nodes.
|
|
|
|
|
|
|
|
NOTE: The `node.voting-only` role is only available with the default
|
|
|
|
distribution of {es}.
|
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== Reloading of search-time synonyms
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
A new {ref}/indices-reload-analyzers.html[Analyzer reload API] allows to reload
|
|
|
|
the definition of search-time analyzers and their associated resources. A common
|
2019-07-24 09:05:23 -04:00
|
|
|
use-case for this API is the reloading of search-time synonyms. In earlier
|
|
|
|
versions of Elasticsearch, users could force synonyms to be reloaded by closing
|
|
|
|
the index and then opening it again. With this new API, synonyms can be updated
|
|
|
|
without closing the index.
|
|
|
|
|
|
|
|
NOTE: The Analyzer reload API is only available with the default distribution
|
|
|
|
of {es}.
|
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== New `flattened` field type
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
A new {ref}/flattened.html[`flattened`] field type has been added, which can index
|
2019-07-24 09:05:23 -04:00
|
|
|
arbitrary `json` objects into a single field. This helps avoid hitting issues
|
|
|
|
due to many fields in mappings, at the cost of more limited search
|
|
|
|
functionality.
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
NOTE: The `flattened` field type is only available with the
|
2019-07-24 09:05:23 -04:00
|
|
|
default distribution of {es}.
|
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== Functions on vector fields
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
Painless now support computing the
|
|
|
|
{ref}/query-dsl-script-score-query.html#vector-functions[cosine similarity] and
|
|
|
|
the {ref}/query-dsl-script-score-query.html#vector-functions[dot product] of a
|
|
|
|
query vector and either values of a
|
|
|
|
{ref}/sparse-vector.html[`sparse_vector`] or
|
|
|
|
{ref}/dense-vector.html[`dense_vector`] field.
|
2019-07-24 09:05:23 -04:00
|
|
|
|
|
|
|
NOTE: These functions are only available with the default distribution of {es}.
|
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== Prefix and wildcard support for intervals
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
{ref}/query-dsl-intervals-query.html[Intervals] now support querying by
|
|
|
|
{ref}/query-dsl-intervals-query.html#intervals-prefix[prefix] or
|
|
|
|
{ref}/query-dsl-intervals-query.html#intervals-wildcard[wildcard].
|
2019-07-24 09:05:23 -04:00
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== Rare terms aggregation
|
|
|
|
|
|
|
|
A new
|
2019-07-31 18:49:27 -04:00
|
|
|
{ref}/search-aggregations-bucket-rare-terms-aggregation.html[Rare Terms aggregation]
|
2019-07-24 09:05:23 -04:00
|
|
|
allows to find the least frequent values in a field. It is intended to replace
|
|
|
|
the `"order" : { "_count" : "asc" }` option of the
|
2019-07-31 18:49:27 -04:00
|
|
|
{ref}/search-aggregations-bucket-terms-aggregation.html[terms aggregations].
|
2019-07-24 09:05:23 -04:00
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== Aliases are replicated via {ccr}
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
Read aliases are now replicated via {ref}/ccr-put-follow.html[{ccr}]. Note that
|
|
|
|
write aliases are still not replicated since they only make sense for indices that
|
2019-07-24 09:05:23 -04:00
|
|
|
are being written to while follower indices do not receive direct writes.
|
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== SQL supports frozen indices
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
{es-sql} now supports querying {ref}/frozen-indices.html[frozen indices] via the
|
|
|
|
new {ref}/sql-index-frozen.html[`FROZEN`] keyword.
|
2019-07-24 09:05:23 -04:00
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== Fixed memory leak when using templates in document-level security
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
{stack-ov}/document-level-security.html[Document-level security] was using an
|
2019-07-24 09:05:23 -04:00
|
|
|
unbounded cache for the set of visible documents. This could lead to a memory
|
|
|
|
leak when using a templated query as a role query. The cache has been fixed to
|
|
|
|
evict based on memory usage and has a limit of 50MB.
|
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
|
|
|
[float]
|
|
|
|
==== More memory-efficient aggregations on `keyword` fields
|
|
|
|
|
2019-07-31 18:49:27 -04:00
|
|
|
{ref}/search-aggregations-bucket-terms-aggregation.html[Terms aggregations]
|
|
|
|
generally need to build
|
|
|
|
{ref}/search-aggregations-bucket-terms-aggregation.html#search-aggregations-bucket-terms-aggregation-execution-hint[global ordinals]
|
2019-07-24 09:05:23 -04:00
|
|
|
in order to run. Unfortunately this operation became more memory-intensive in
|
|
|
|
6.0 due to the move to doc-value iterators in order to improve handling of
|
|
|
|
sparse fields. Memory pressure of global ordinals now goes back to a more
|
|
|
|
similar level as what you could have on pre-6.0 releases.
|
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
2019-07-29 12:45:09 -04:00
|
|
|
[discrete]
|
|
|
|
[[release-highlights-7.3.0-transforms]]
|
|
|
|
==== {dataframes-cap}: transform and pivot your streaming data
|
|
|
|
|
|
|
|
beta[] {stack-ov}/ml-dataframes.html[{dataframe-transforms-cap}] are a core new
|
|
|
|
feature in {es} that enable you to transform an existing index to a secondary,
|
|
|
|
summarized index. {dataframe-transforms-cap} enable you to pivot your data and
|
|
|
|
create entity-centric indices that can summarize the behavior of an entity. This
|
|
|
|
organizes the data into an analysis-friendly format.
|
|
|
|
|
|
|
|
{dataframe-transforms-cap} were originally available in 7.2. With 7.3 they can
|
|
|
|
now run either as a single batch transform or continuously incorporating new
|
|
|
|
data as it is ingested.
|
|
|
|
|
|
|
|
{dataframes-cap} enable new possibilities for {ml} analysis (such as
|
|
|
|
_outlier detection_), but they can also be useful for other types of
|
|
|
|
visualizations and custom types of analysis.
|
2019-07-24 09:05:23 -04:00
|
|
|
|
|
|
|
// end::notable-highlights[]
|
|
|
|
|
|
|
|
// tag::notable-highlights[]
|
2019-07-29 02:03:11 -04:00
|
|
|
[discrete]
|
|
|
|
[[release-highlights-7.3.0-outlier-detection]]
|
|
|
|
==== Discover your most unusual data using {oldetection}
|
|
|
|
|
|
|
|
The goal of {stack-ov}/dfa-outlier-detection.html[{oldetection}] is to find
|
|
|
|
the most unusual data points in an index. We analyse the numerical fields of
|
|
|
|
each data point (document in an index) and annotate them with how unusual they
|
|
|
|
are.
|
|
|
|
|
|
|
|
We use unsupervised {oldetection} which means there is no need to provide a
|
|
|
|
training data set to teach {oldetection} to recognize outliers. In practice,
|
|
|
|
this is achieved by using an ensemble of distance based and density based
|
|
|
|
techniques to identify those data points which are the most different from the
|
|
|
|
bulk of the data in the index. We assign to each analysed data point an
|
|
|
|
{olscore}, which captures how different the entity is from other entities in the
|
|
|
|
index.
|
|
|
|
|
|
|
|
In addition to new {oldetection} functionality, we are introducing the
|
2019-07-31 18:49:27 -04:00
|
|
|
{ref}/evaluate-dfanalytics.html[evaluate {dfanalytics} API], which enables you
|
|
|
|
to compute a range of performance metrics such
|
2019-07-29 02:03:11 -04:00
|
|
|
as confusion matrices, precision, recall, the
|
|
|
|
https://en.wikipedia.org/wiki/Receiver_operating_characteristic[receiver-operating characteristics (ROC) curve]
|
|
|
|
and the area under the ROC curve. If you are running {oldetection} on a source
|
|
|
|
index that has already been labeled to indicate which points are truly outliers
|
|
|
|
and which are normal, you can use the
|
|
|
|
evaluate {dfanalytics} API to assess the performance of the
|
|
|
|
{oldetection} analytics on your dataset.
|
2019-07-24 09:05:23 -04:00
|
|
|
|
|
|
|
// end::notable-highlights[]
|