Skip to content

Commit 0c30cb9

Browse files
committed
Merge branch 'main' into esql/lookup-join-grammar
2 parents 93fd3dc + 82d14c9 commit 0c30cb9

File tree

214 files changed

+4066
-2105
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

214 files changed

+4066
-2105
lines changed

build-tools-internal/src/main/groovy/elasticsearch.ide.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ if (providers.systemProperty('idea.active').getOrNull() == 'true') {
145145

146146
doLast {
147147
['main', 'test'].each { sourceSet ->
148-
modifyXml(".idea/modules/libs/native/elasticsearch.libs.${project.project(':libs:native').name}.${sourceSet}.iml") { xml ->
148+
modifyXml(".idea/modules/libs/native/elasticsearch.libs.native.${sourceSet}.iml") { xml ->
149149
xml.component.find { it.'@name' == 'NewModuleRootManager' }?.'@LANGUAGE_LEVEL' = 'JDK_21_PREVIEW'
150150
}
151151
}

docs/changelog/115091.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
pr: 115091
2+
summary: Added stricter range type checks and runtime warnings for ENRICH
3+
area: ES|QL
4+
type: bug
5+
issues:
6+
- 107357
7+
- 116799

docs/changelog/116944.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
pr: 116944
2+
summary: "Remove support for type, fields, `copy_to` and boost in metadata field definition"
3+
area: Mapping
4+
type: breaking
5+
issues: []
6+
breaking:
7+
title: "Remove support for type, fields, copy_to and boost in metadata field definition"
8+
area: Mapping
9+
details: The type, fields, copy_to and boost parameters are no longer supported in metadata field definition
10+
impact: Users providing type, fields, copy_to or boost as part of metadata field definition should remove them from their mappings.
11+
notable: false

docs/changelog/116970.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
pr: 116970
2+
summary: Remove legacy params from range query
3+
area: Search
4+
type: breaking
5+
issues: []
6+
breaking:
7+
title: Remove legacy params from range query
8+
area: REST API
9+
details: The deprecated range query parameters `to`, `from`, `include_lower`, and `include_upper` are no longer supported.
10+
impact: Users should use `lt`, `lte`, `gt`, and `gte` query parameters instead.
11+
notable: false

docs/changelog/116995.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 116995
2+
summary: "Apm-data: disable date_detection for all apm data streams"
3+
area: Data streams
4+
type: enhancement
5+
issues: []

docs/changelog/90529.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
pr: 90529
2+
summary: Output a consistent format when generating error json
3+
area: Infra/REST API
4+
type: "breaking"
5+
issues:
6+
- 89387
7+
breaking:
8+
title: Error JSON structure has changed when detailed errors are disabled
9+
area: REST API
10+
details: |-
11+
This change modifies the JSON format of error messages returned to REST clients
12+
when detailed messages are turned off.
13+
Previously, JSON returned when an exception occurred, and `http.detailed_errors.enabled: false` was set,
14+
just consisted of a single `"error"` text field with some basic information.
15+
Setting `http.detailed_errors.enabled: true` (the default) changed this field
16+
to an object with more detailed information.
17+
With this change, non-detailed errors now have the same structure as detailed errors. `"error"` will now always
18+
be an object with, at a minimum, a `"type"` and `"reason"` field. Additional fields are included when detailed
19+
errors are enabled.
20+
To use the previous structure for non-detailed errors, use the v8 REST API.
21+
impact: |-
22+
If you have set `http.detailed_errors.enabled: false` (the default is `true`)
23+
the structure of JSON when any exceptions occur now matches the structure when
24+
detailed errors are enabled.
25+
To use the previous structure for non-detailed errors, use the v8 REST API.
26+
notable: false

docs/reference/cluster/allocation-explain.asciidoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ node.
159159
<5> The decider which led to the `no` decision for the node.
160160
<6> An explanation as to why the decider returned a `no` decision, with a helpful hint pointing to the setting that led to the decision. In this example, a newly created index has <<indices-get-settings,an index setting>> that requires that it only be allocated to a node named `nonexistent_node`, which does not exist, so the index is unable to allocate.
161161

162+
See https://www.youtube.com/watch?v=5z3n2VgusLE[this video] for a walkthrough of troubleshooting a node and index setting mismatch.
163+
162164
[[maximum-number-of-retries-exceeded]]
163165
====== Maximum number of retries exceeded
164166

@@ -235,7 +237,9 @@ primary shard that was previously allocated.
235237
----
236238
// NOTCONSOLE
237239

238-
TIP: If a shard is unassigned with an allocation status of `no_valid_shard_copy`, then you should <<fix-cluster-status-recover-nodes,make sure that all nodes are in the cluster>>. If all the nodes containing in-sync copies of a shard are lost, then you can <<fix-cluster-status-restore,recover the data for the shard>>.
240+
If a shard is unassigned with an allocation status of `no_valid_shard_copy`, then you should <<fix-cluster-status-recover-nodes,make sure that all nodes are in the cluster>>. If all the nodes containing in-sync copies of a shard are lost, then you can <<fix-cluster-status-restore,recover the data for the shard>>.
241+
242+
See https://www.youtube.com/watch?v=6OAg9IyXFO4[this video] for a walkthrough of troubleshooting `no_valid_shard_copy`.
239243

240244
===== Unassigned replica shard
241245

docs/reference/esql/esql-enrich-data.asciidoc

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,33 @@ include::{es-ref-dir}/ingest/apis/enrich/execute-enrich-policy.asciidoc[tag=upda
138138

139139
include::../ingest/enrich.asciidoc[tag=update-enrich-policy]
140140

141-
==== Limitations
141+
==== Enrich Policy Types and Limitations
142+
The {esql} `ENRICH` command supports all three enrich policy types:
143+
144+
`geo_match`::
145+
Matches enrich data to incoming documents based on a <<query-dsl-geo-shape-query,`geo_shape` query>>.
146+
For an example, see <<geo-match-enrich-policy-type>>.
147+
148+
`match`::
149+
Matches enrich data to incoming documents based on a <<query-dsl-term-query,`term` query>>.
150+
For an example, see <<match-enrich-policy-type>>.
151+
152+
`range`::
153+
Matches a number, date, or IP address in incoming documents to a range in the
154+
enrich index based on a <<query-dsl-term-query,`term` query>>. For an example,
155+
see <<range-enrich-policy-type>>.
156+
142157
// tag::limitations[]
143-
The {esql} `ENRICH` command only supports enrich policies of type `match`.
144-
Furthermore, `ENRICH` only supports enriching on a column of type `keyword`.
158+
While all three enrich policy types are supported, there are some limitations to be aware of:
159+
160+
* The `geo_match` enrich policy type only supports the `intersects` spatial relation.
161+
* It is required that the `match_field` in the `ENRICH` command is of the correct type.
162+
For example, if the enrich policy is of type `geo_match`, the `match_field` in the `ENRICH`
163+
command must be of type `geo_point` or `geo_shape`.
164+
Likewise, a `range` enrich policy requires a `match_field` of type `integer`, `long`, `date`, or `ip`,
165+
depending on the type of the range field in the original enrich index.
166+
* However, this constraint is relaxed for `range` policies when the `match_field` is of type `KEYWORD`.
167+
In this case the field values will be parsed during query execution, row by row.
168+
If any value fails to parse, the output values for that row will be set to `null`,
169+
an appropriate warning will be produced and the query will continue to execute.
145170
// end::limitations[]

docs/reference/esql/esql-language.asciidoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Detailed reference documentation for the {esql} language:
1414
* <<esql-enrich-data>>
1515
* <<esql-process-data-with-dissect-and-grok>>
1616
* <<esql-implicit-casting>>
17+
* <<esql-time-spans>>
1718

1819
include::esql-syntax.asciidoc[]
1920
include::esql-commands.asciidoc[]
@@ -23,3 +24,4 @@ include::multivalued-fields.asciidoc[]
2324
include::esql-process-data-with-dissect-grok.asciidoc[]
2425
include::esql-enrich-data.asciidoc[]
2526
include::implicit-casting.asciidoc[]
27+
include::time-spans.asciidoc[]

docs/reference/esql/esql-syntax.asciidoc

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -157,21 +157,15 @@ FROM employees
157157
==== Timespan literals
158158

159159
Datetime intervals and timespans can be expressed using timespan literals.
160-
Timespan literals are a combination of a number and a qualifier. These
161-
qualifiers are supported:
162-
163-
* `millisecond`/`milliseconds`/`ms`
164-
* `second`/`seconds`/`sec`/`s`
165-
* `minute`/`minutes`/`min`
166-
* `hour`/`hours`/`h`
167-
* `day`/`days`/`d`
168-
* `week`/`weeks`/`w`
169-
* `month`/`months`/`mo`
170-
* `quarter`/`quarters`/`q`
171-
* `year`/`years`/`yr`/`y`
160+
Timespan literals are a combination of a number and a temporal unit. The
161+
supported temporal units are listed in <<esql-time-spans-table, time span unit>>.
162+
More examples of the usages of time spans can be found in
163+
<<esql-time-spans, Use time spans in ES|QL>>.
164+
172165

173166
Timespan literals are not whitespace sensitive. These expressions are all valid:
174167

175168
* `1day`
176169
* `1 day`
177170
* `1 day`
171+

0 commit comments

Comments
 (0)