Skip to content

Commit 11a99b1

Browse files
Merge branch 'main' into sql/jdbc_api_key
2 parents acb87f6 + 0074142 commit 11a99b1

File tree

181 files changed

+7383
-6786
lines changed

Some content is hidden

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

181 files changed

+7383
-6786
lines changed

benchmarks/src/main/java/org/elasticsearch/benchmark/_nightly/esql/QueryPlanningBenchmark.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public void setup() {
126126
minimumVersion,
127127
UNMAPPED_FIELDS.defaultValue()
128128
),
129-
new Verifier(new Metrics(functionRegistry), new XPackLicenseState(() -> 0L))
129+
new Verifier(new Metrics(functionRegistry, true, true), new XPackLicenseState(() -> 0L))
130130
);
131131
defaultOptimizer = new LogicalPlanOptimizer(new LogicalOptimizerContext(config, FoldContext.small(), minimumVersion));
132132
}

distribution/docker/src/docker/dockerfiles/cloud_ess_fips/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
# Extract Elasticsearch artifact
2626
################################################################################
2727
28-
FROM docker.elastic.co/wolfi/chainguard-base-fips:latest@sha256:efc70f02cdc8aaa7eb5196c5d17719098a3f4bba347aa966a85f7e5452d0a0ca AS builder
28+
FROM docker.elastic.co/wolfi/chainguard-base-fips:latest@sha256:11d66ae7ec7ca1d5a7289750bdd96eb3d8eb592e5b7377f1fc8e4fb556fa7383 AS builder
2929
3030
# Install required packages to extract the Elasticsearch distribution
3131
RUN <%= retry.loop(package_manager, "export DEBIAN_FRONTEND=noninteractive && ${package_manager} update && ${package_manager} update && ${package_manager} add --no-cache curl") %>
@@ -104,7 +104,7 @@ WORKDIR /usr/share/elasticsearch/config
104104
# Add entrypoint
105105
################################################################################
106106

107-
FROM docker.elastic.co/wolfi/chainguard-base-fips:latest@sha256:efc70f02cdc8aaa7eb5196c5d17719098a3f4bba347aa966a85f7e5452d0a0ca
107+
FROM docker.elastic.co/wolfi/chainguard-base-fips:latest@sha256:11d66ae7ec7ca1d5a7289750bdd96eb3d8eb592e5b7377f1fc8e4fb556fa7383
108108

109109
RUN <%= retry.loop(package_manager,
110110
"export DEBIAN_FRONTEND=noninteractive && \n" +

distribution/docker/src/docker/dockerfiles/wolfi/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
# Extract Elasticsearch artifact
2626
################################################################################
2727
28-
FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:4a82c706003370964df94913adfc47aab9a55b4fb2490260e7f7ebcf27cc4240 AS builder
28+
FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:b5a03b6a754fa2f9a29e44e316a6c4df1f606cd8a3cd8810ce3d6a3a3134428b AS builder
2929
3030
# Install required packages to extract the Elasticsearch distribution
3131
RUN <%= retry.loop(package_manager, "export DEBIAN_FRONTEND=noninteractive && ${package_manager} update && ${package_manager} update && ${package_manager} add --no-cache curl") %>
@@ -80,7 +80,7 @@ RUN sed -i -e 's/ES_DISTRIBUTION_TYPE=tar/ES_DISTRIBUTION_TYPE=docker/' bin/elas
8080
# Add entrypoint
8181
################################################################################
8282

83-
FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:4a82c706003370964df94913adfc47aab9a55b4fb2490260e7f7ebcf27cc4240
83+
FROM docker.elastic.co/wolfi/chainguard-base:latest@sha256:b5a03b6a754fa2f9a29e44e316a6c4df1f606cd8a3cd8810ce3d6a3a3134428b
8484

8585
RUN <%= retry.loop(package_manager,
8686
"export DEBIAN_FRONTEND=noninteractive && \n" +

docs/changelog/141836.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
area: ES|QL
2+
issues: []
3+
pr: 141836
4+
summary: Add telemetry (stack) for query settings
5+
type: enhancement

docs/changelog/142482.yaml

Lines changed: 0 additions & 5 deletions
This file was deleted.

docs/changelog/142680.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
area: ES|QL
2+
issues:
3+
- 133942
4+
pr: 142680
5+
summary: Adding ES|QL command REGISTERED_DOMAIN
6+
type: feature
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
% This is generated by ESQL's AbstractFunctionTestCase. Do not edit it. See ../README.md for how to regenerate it.
2+
3+
```esql
4+
ROW fqdn = "www.example.co.uk"
5+
| REGISTERED_DOMAIN rd = fqdn
6+
| KEEP rd.*
7+
```
8+
9+
| rd.domain:keyword | rd.registered_domain:keyword | rd.top_level_domain:keyword | rd.subdomain:keyword |
10+
| --- | --- | --- | --- |
11+
| www.example.co.uk | example.co.uk | co.uk | www |
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
```yaml {applies_to}
2+
serverless: preview
3+
stack: preview 9.4
4+
```
5+
6+
The `REGISTERED_DOMAIN` processing command parses a fully qualified domain name (FQDN) string and extracts its parts (domain, registered domain, top-level domain, subdomain) into new columns using the public suffix list.
7+
8+
::::{note}
9+
This command doesn't support multi-value inputs.
10+
::::
11+
12+
13+
**Syntax**
14+
15+
```esql
16+
REGISTERED_DOMAIN prefix = expression
17+
```
18+
19+
**Parameters**
20+
21+
`prefix`
22+
: The prefix for the output columns. The extracted parts are available as `prefix.part_name`.
23+
24+
`expression`
25+
: The string expression containing the FQDN to parse.
26+
27+
**Description**
28+
29+
The `REGISTERED_DOMAIN` command parses an FQDN string and extracts its parts into new columns.
30+
The new columns are prefixed with the specified `prefix` followed by a dot (`.`).
31+
32+
The following columns are created:
33+
34+
`prefix.domain`
35+
: The full domain name (the input FQDN).
36+
37+
`prefix.registered_domain`
38+
: The registered domain (e.g. `example.co.uk` for `www.example.co.uk`).
39+
40+
`prefix.top_level_domain`
41+
: The effective top-level domain ([eTLD](https://developer.mozilla.org/en-US/docs/Glossary/eTLD)), e.g. `co.uk`, `com`.
42+
43+
`prefix.subdomain`
44+
: The subdomain part, if any (e.g. `www` for `www.example.co.uk`).
45+
46+
If a part is missing or the input is not a valid FQDN, the corresponding column contains `null`.
47+
If the expression evaluates to `null` or blank, all output columns are `null`.
48+
49+
**Examples**
50+
51+
The following example parses an FQDN and extracts its parts:
52+
53+
:::{include} ../examples/registered_domain.csv-spec/basic.md
54+
:::
55+
56+
You can use the extracted parts in subsequent commands, for example to filter by registered domain:
57+
58+
```esql
59+
FROM web_logs
60+
| REGISTERED_DOMAIN rd = domain
61+
| WHERE rd.registered_domain == "elastic.co"
62+
| STATS COUNT(*) BY rd.subdomain
63+
```

docs/reference/query-languages/esql/_snippets/commands/layout/uri_parts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
```yaml {applies_to}
22
serverless: preview
3-
stack: preview
3+
stack: preview 9.4
44
```
55
66
The `URI_PARTS` processing command parses a Uniform Resource Identifier (URI) string and extracts its components into new columns.

docs/reference/query-languages/esql/_snippets/lists/processing-commands.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@
1212
* [`LOOKUP JOIN`](/reference/query-languages/esql/commands/lookup-join.md)
1313
* [`INLINE STATS`](/reference/query-languages/esql/commands/inlinestats-by.md)
1414
* [`MV_EXPAND`](/reference/query-languages/esql/commands/mv_expand.md) {applies_to}`stack: preview` {applies_to}`serverless: preview`
15+
% * [`REGISTERED_DOMAIN`](/reference/query-languages/esql/commands/registered-domain.md) {applies_to}`stack: preview 9.4` {applies_to}`serverless: preview`
1516
* [`RENAME`](/reference/query-languages/esql/commands/rename.md)
1617
* [`RERANK`](/reference/query-languages/esql/commands/rerank.md) {applies_to}`stack: preview` {applies_to}`serverless: preview`
1718
* [`SAMPLE`](/reference/query-languages/esql/commands/sample.md) {applies_to}`stack: preview` {applies_to}`serverless: preview`
1819
* [`SORT`](/reference/query-languages/esql/commands/sort.md)
1920
* [`STATS`](/reference/query-languages/esql/commands/stats-by.md)
20-
* [`URI_PARTS`](/reference/query-languages/esql/commands/uri-parts.md) {applies_to}`stack: preview` {applies_to}`serverless: preview`
21+
% * [`URI_PARTS`](/reference/query-languages/esql/commands/uri-parts.md) {applies_to}`stack: preview 9.4` {applies_to}`serverless: preview`
2122
* [`WHERE`](/reference/query-languages/esql/commands/where.md)

0 commit comments

Comments
 (0)