Skip to content

Commit 962a540

Browse files
authored
Merge branch 'main' into ES-12055_track_snapshot_stats_as_metrics
2 parents 3bd6084 + ee0b69b commit 962a540

File tree

38 files changed

+1021
-525
lines changed

38 files changed

+1021
-525
lines changed

docs/changelog/130336.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 130336
2+
summary: "[EIS] Rename the elser 2 default model and the default inference endpoint"
3+
area: Machine Learning
4+
type: bug
5+
issues: []

docs/reference/elasticsearch/mapping-reference/sparse-vector.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ PUT my-index
2626

2727
## Token pruning
2828
```{applies_to}
29-
stack: preview 9.1
29+
stack: ga 9.1
3030
```
3131

3232
With any new indices created, token pruning will be turned on by default with appropriate defaults. You can control this behaviour using the optional `index_options` parameters for the field:
@@ -63,23 +63,23 @@ The following parameters are accepted by `sparse_vector` fields:
6363
* Exclude the field from [_source](/reference/elasticsearch/rest-apis/retrieve-selected-fields.md#source-filtering).
6464
* Use [synthetic `_source`](/reference/elasticsearch/mapping-reference/mapping-source-field.md#synthetic-source).
6565

66-
index_options {applies_to}`stack: preview 9.1`
66+
index_options {applies_to}`stack: ga 9.1`
6767
: (Optional, object) You can set index options for your `sparse_vector` field to determine if you should prune tokens, and the parameter configurations for the token pruning. If pruning options are not set in your [`sparse_vector` query](/reference/query-languages/query-dsl/query-dsl-sparse-vector-query.md), Elasticsearch will use the default options configured for the field, if any.
6868

6969
Parameters for `index_options` are:
7070

71-
`prune` {applies_to}`stack: preview 9.1`
71+
`prune` {applies_to}`stack: ga 9.1`
7272
: (Optional, boolean) Whether to perform pruning, omitting the non-significant tokens from the query to improve query performance. If `prune` is true but the `pruning_config` is not specified, pruning will occur but default values will be used. Default: true.
7373

74-
`pruning_config` {applies_to}`stack: preview 9.1`
74+
`pruning_config` {applies_to}`stack: ga 9.1`
7575
: (Optional, object) Optional pruning configuration. If enabled, this will omit non-significant tokens from the query in order to improve query performance. This is only used if `prune` is set to `true`. If `prune` is set to `true` but `pruning_config` is not specified, default values will be used. If `prune` is set to false but `pruning_config` is specified, an exception will occur.
7676

7777
Parameters for `pruning_config` include:
7878

79-
`tokens_freq_ratio_threshold` {applies_to}`stack: preview 9.1`
79+
`tokens_freq_ratio_threshold` {applies_to}`stack: ga 9.1`
8080
: (Optional, integer) Tokens whose frequency is more than `tokens_freq_ratio_threshold` times the average frequency of all tokens in the specified field are considered outliers and pruned. This value must between 1 and 100. Default: `5`.
8181

82-
`tokens_weight_threshold` {applies_to}`stack: preview 9.1`
82+
`tokens_weight_threshold` {applies_to}`stack: ga 9.1`
8383
: (Optional, float) Tokens whose weight is less than `tokens_weight_threshold` are considered insignificant and pruned. This value must be between 0 and 1. Default: `0.4`.
8484

8585
::::{note}

docs/reference/query-languages/esql/esql-lookup-join.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ The following are the current limitations with `LOOKUP JOIN`:
200200
* Indices in [`lookup` mode](/reference/elasticsearch/index-settings/index-modules.md#index-mode-setting) are always single-sharded.
201201
* Cross cluster search is unsupported initially. Both source and lookup indices must be local.
202202
* Currently, only matching on equality is supported.
203-
* `LOOKUP JOIN` can only use a single match field and a single index. Wildcards, aliases, datemath, and datastreams are not supported.
203+
* `LOOKUP JOIN` can only use a single match field and a single index. Wildcards are not supported.
204+
* Aliases, datemath, and datastreams are supported, as long as the index pattern matches a single concrete index {applies_to}`stack: ga 9.1.0`.
204205
* The name of the match field in `LOOKUP JOIN lu_idx ON match_field` must match an existing field in the query. This may require `RENAME`s or `EVAL`s to achieve.
205206
* The query will circuit break if there are too many matching documents in the lookup index, or if the documents are too large. More precisely, `LOOKUP JOIN` works in batches of, normally, about 10,000 rows; a large amount of heap space is needed if the matching documents from the lookup index for a batch are multiple megabytes or larger. This is roughly the same as for `ENRICH`.

modules/data-streams/src/yamlRestTest/resources/rest-api-spec/test/data_stream/250_data_stream_mappings.yml

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,111 @@ setup:
9292
index: my-data-stream-1
9393
- match: { .$oldIndexName.mappings.properties.name: null }
9494
- match: { .$newIndexName.mappings.properties.name.type: "keyword" }
95+
96+
---
97+
"Test mappings component templates only":
98+
- requires:
99+
cluster_features: [ "logs_stream" ]
100+
reason: requires setting 'logs_stream' to get or set data stream settings
101+
102+
- do:
103+
cluster.put_component_template:
104+
name: mappings-template
105+
body:
106+
template:
107+
mappings:
108+
properties:
109+
field1:
110+
type: keyword
111+
field2:
112+
type: keyword
113+
114+
- do:
115+
allowed_warnings:
116+
- "index template [my-component-only-template] has index patterns [my-component-only-data-stream-*] matching patterns from existing older templates [global] with patterns (global => [*]); this template [my-component-only-template] will take precedence during new index creation"
117+
indices.put_index_template:
118+
name: my-component-only-template
119+
body:
120+
index_patterns: [ my-component-only-data-stream-* ]
121+
data_stream: { }
122+
composed_of:
123+
- mappings-template
124+
125+
- do:
126+
indices.create_data_stream:
127+
name: my-component-only-data-stream-1
128+
129+
- do:
130+
cluster.health:
131+
index: "my-component-only-data-stream-1"
132+
wait_for_status: green
133+
134+
- do:
135+
indices.get_data_stream:
136+
name: my-component-only-data-stream-1
137+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
138+
- match: { data_streams.0.mappings: {} }
139+
- match: { data_streams.0.effective_mappings: null }
140+
141+
- do:
142+
indices.put_data_stream_mappings:
143+
name: my-component-only-data-stream-1
144+
body:
145+
properties:
146+
field1:
147+
type: text
148+
field3:
149+
type: text
150+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
151+
- match: { data_streams.0.applied_to_data_stream: true }
152+
- match: { data_streams.0.mappings.properties.field1.type: "text" }
153+
- match: { data_streams.0.mappings.properties.field2: null }
154+
- match: { data_streams.0.mappings.properties.field3.type: "text" }
155+
- match: { data_streams.0.effective_mappings.properties.field1.type: "text" }
156+
- match: { data_streams.0.effective_mappings.properties.field2: null }
157+
- match: { data_streams.0.effective_mappings.properties.field3.type: "text" }
158+
159+
- do:
160+
indices.rollover:
161+
alias: "my-component-only-data-stream-1"
162+
163+
- do:
164+
cluster.health:
165+
index: "my-component-only-data-stream-1"
166+
wait_for_status: green
167+
168+
- do:
169+
indices.get_data_stream_mappings:
170+
name: my-component-only-data-stream-1
171+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
172+
- length: { data_streams.0.effective_mappings.properties: 2 }
173+
- match: { data_streams.0.mappings.properties.field1.type: "text" }
174+
- match: { data_streams.0.effective_mappings.properties.field3.type: "text" }
175+
176+
- do:
177+
indices.get_data_stream:
178+
name: my-component-only-data-stream-1
179+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
180+
- match: { data_streams.0.mappings.properties.field1.type: "text" }
181+
- match: { data_streams.0.effective_mappings: null }
182+
- set: { data_streams.0.indices.0.index_name: oldIndexName }
183+
- set: { data_streams.0.indices.1.index_name: newIndexName }
184+
185+
- do:
186+
indices.get_mapping:
187+
index: my-component-only-data-stream-1
188+
- match: { .$oldIndexName.mappings.properties.field1.type: "keyword" }
189+
- match: { .$oldIndexName.mappings.properties.field2.type: "keyword" }
190+
- match: { .$oldIndexName.mappings.properties.field3: null }
191+
- match: { .$newIndexName.mappings.properties.field1.type: "text" }
192+
- match: { .$newIndexName.mappings.properties.field2.type: "keyword" }
193+
- match: { .$newIndexName.mappings.properties.field3.type: "text" }
194+
195+
- do:
196+
indices.put_data_stream_mappings:
197+
name: my-component-only-data-stream-1
198+
body: {}
199+
- match: { data_streams.0.name: my-component-only-data-stream-1 }
200+
- match: { data_streams.0.applied_to_data_stream: true }
201+
- match: { data_streams.0.mappings null }
202+
- match: { data_streams.0.effective_mappings: null }

muted-tests.yml

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,9 +224,6 @@ tests:
224224
- class: org.elasticsearch.packaging.test.BootstrapCheckTests
225225
method: test20RunWithBootstrapChecks
226226
issue: https://github.com/elastic/elasticsearch/issues/124940
227-
- class: org.elasticsearch.xpack.esql.action.CrossClusterAsyncQueryStopIT
228-
method: testStopQueryLocal
229-
issue: https://github.com/elastic/elasticsearch/issues/121672
230227
- class: org.elasticsearch.packaging.test.BootstrapCheckTests
231228
method: test10Install
232229
issue: https://github.com/elastic/elasticsearch/issues/124957
@@ -500,9 +497,6 @@ tests:
500497
- class: org.elasticsearch.xpack.security.PermissionsIT
501498
method: testWhenUserLimitedByOnlyAliasOfIndexCanWriteToIndexWhichWasRolledoverByILMPolicy
502499
issue: https://github.com/elastic/elasticsearch/issues/129481
503-
- class: org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceTests
504-
method: testIORateIsAdjustedForAllRunningMergeTasks
505-
issue: https://github.com/elastic/elasticsearch/issues/129531
506500
- class: org.elasticsearch.upgrades.IndexingIT
507501
method: testIndexing
508502
issue: https://github.com/elastic/elasticsearch/issues/129533
@@ -605,6 +599,33 @@ tests:
605599
- class: org.elasticsearch.repositories.blobstore.BlobStoreCorruptionIT
606600
method: testCorruptionDetection
607601
issue: https://github.com/elastic/elasticsearch/issues/130536
602+
- class: org.elasticsearch.multiproject.test.CoreWithMultipleProjectsClientYamlTestSuiteIT
603+
method: test {yaml=indices.resolve_index/10_basic_resolve_index/Resolve index with hidden and closed indices}
604+
issue: https://github.com/elastic/elasticsearch/issues/130568
605+
- class: org.elasticsearch.reindex.ReindexRestClientSslTests
606+
method: testClientPassesClientCertificate
607+
issue: https://github.com/elastic/elasticsearch/issues/130584
608+
- class: org.elasticsearch.reindex.ReindexRestClientSslTests
609+
method: testClientFailsWithUntrustedCertificate
610+
issue: https://github.com/elastic/elasticsearch/issues/130585
611+
- class: org.elasticsearch.reindex.ReindexRestClientSslTests
612+
method: testClientSucceedsWithCertificateAuthorities
613+
issue: https://github.com/elastic/elasticsearch/issues/130586
614+
- class: org.elasticsearch.reindex.ReindexFromRemoteBuildRestClientTests
615+
method: testHeaders
616+
issue: https://github.com/elastic/elasticsearch/issues/130587
617+
- class: org.elasticsearch.reindex.ReindexFromRemoteBuildRestClientTests
618+
method: testBuildRestClient
619+
issue: https://github.com/elastic/elasticsearch/issues/130588
620+
- class: org.elasticsearch.http.netty4.Netty4HttpServerTransportTests
621+
method: testRespondAfterServiceCloseWithClientCancel
622+
issue: https://github.com/elastic/elasticsearch/issues/130590
623+
- class: org.elasticsearch.http.netty4.Netty4HttpServerTransportTests
624+
method: testRespondAfterServiceCloseWithServerCancel
625+
issue: https://github.com/elastic/elasticsearch/issues/130591
626+
- class: org.elasticsearch.xpack.esql.qa.multi_node.GenerativeIT
627+
method: test
628+
issue: https://github.com/elastic/elasticsearch/issues/130067
608629

609630
# Examples:
610631
#

qa/vector/src/main/java/org/elasticsearch/test/knn/CmdLineArgs.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ record CmdLineArgs(
4242
int hnswM,
4343
int hnswEfConstruction,
4444
int searchThreads,
45+
int numSearchers,
4546
int indexThreads,
4647
boolean reindex,
4748
boolean forceMerge,
@@ -64,6 +65,7 @@ record CmdLineArgs(
6465
static final ParseField OVER_SAMPLING_FACTOR_FIELD = new ParseField("over_sampling_factor");
6566
static final ParseField HNSW_M_FIELD = new ParseField("hnsw_m");
6667
static final ParseField HNSW_EF_CONSTRUCTION_FIELD = new ParseField("hnsw_ef_construction");
68+
static final ParseField NUM_SEARCHERS_FIELD = new ParseField("num_searchers");
6769
static final ParseField SEARCH_THREADS_FIELD = new ParseField("search_threads");
6870
static final ParseField INDEX_THREADS_FIELD = new ParseField("index_threads");
6971
static final ParseField REINDEX_FIELD = new ParseField("reindex");
@@ -95,6 +97,7 @@ static CmdLineArgs fromXContent(XContentParser parser) throws IOException {
9597
PARSER.declareInt(Builder::setHnswM, HNSW_M_FIELD);
9698
PARSER.declareInt(Builder::setHnswEfConstruction, HNSW_EF_CONSTRUCTION_FIELD);
9799
PARSER.declareInt(Builder::setSearchThreads, SEARCH_THREADS_FIELD);
100+
PARSER.declareInt(Builder::setNumSearchers, NUM_SEARCHERS_FIELD);
98101
PARSER.declareInt(Builder::setIndexThreads, INDEX_THREADS_FIELD);
99102
PARSER.declareBoolean(Builder::setReindex, REINDEX_FIELD);
100103
PARSER.declareBoolean(Builder::setForceMerge, FORCE_MERGE_FIELD);
@@ -125,6 +128,7 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
125128
builder.field(HNSW_M_FIELD.getPreferredName(), hnswM);
126129
builder.field(HNSW_EF_CONSTRUCTION_FIELD.getPreferredName(), hnswEfConstruction);
127130
builder.field(SEARCH_THREADS_FIELD.getPreferredName(), searchThreads);
131+
builder.field(NUM_SEARCHERS_FIELD.getPreferredName(), numSearchers);
128132
builder.field(INDEX_THREADS_FIELD.getPreferredName(), indexThreads);
129133
builder.field(REINDEX_FIELD.getPreferredName(), reindex);
130134
builder.field(FORCE_MERGE_FIELD.getPreferredName(), forceMerge);
@@ -154,6 +158,7 @@ static class Builder {
154158
private int hnswM = 16;
155159
private int hnswEfConstruction = 200;
156160
private int searchThreads = 1;
161+
private int numSearchers = 1;
157162
private int indexThreads = 1;
158163
private boolean reindex = false;
159164
private boolean forceMerge = false;
@@ -228,6 +233,11 @@ public Builder setSearchThreads(int searchThreads) {
228233
return this;
229234
}
230235

236+
public Builder setNumSearchers(int numSearchers) {
237+
this.numSearchers = numSearchers;
238+
return this;
239+
}
240+
231241
public Builder setIndexThreads(int indexThreads) {
232242
this.indexThreads = indexThreads;
233243
return this;
@@ -291,6 +301,7 @@ public CmdLineArgs build() {
291301
hnswM,
292302
hnswEfConstruction,
293303
searchThreads,
304+
numSearchers,
294305
indexThreads,
295306
reindex,
296307
forceMerge,

0 commit comments

Comments
 (0)