Skip to content

Commit 287ed55

Browse files
author
elasticsearchmachine
committed
Merge remote-tracking branch 'origin/main' into lucene_snapshot
2 parents 7ff74fc + 517f3bf commit 287ed55

File tree

137 files changed

+1390
-498
lines changed

Some content is hidden

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

137 files changed

+1390
-498
lines changed

docs/changelog/131032.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 131032
2+
summary: "Fix: `GET _synonyms` returns synonyms with empty rules"
3+
area: Relevance
4+
type: bug
5+
issues: []

docs/changelog/131056.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 131056
2+
summary: Add existing shards allocator settings to failure store allowed list
3+
area: Data streams
4+
type: bug
5+
issues: []

docs/changelog/131081.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 131081
2+
summary: Fix knn search error when dimensions are not set
3+
area: Vector Search
4+
type: bug
5+
issues:
6+
- 129550

docs/changelog/131111.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 131111
2+
summary: Don't allow field caps to use semantic queries as index filters
3+
area: Search
4+
type: bug
5+
issues: []

docs/reference/query-languages/esql/limitations.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,3 +250,6 @@ Work around this limitation by converting the field to single value with one of
250250
* CSV export from Discover shows no more than 10,000 rows. This limit only applies to the number of rows that are retrieved by the query and displayed in Discover. Queries and aggregations run on the full data set.
251251
* Querying many indices at once without any filters can cause an error in kibana which looks like `[esql] > Unexpected error from Elasticsearch: The content length (536885793) is bigger than the maximum allowed string (536870888)`. The response from {{esql}} is too long. Use [`DROP`](/reference/query-languages/esql/commands/processing-commands.md#esql-drop) or [`KEEP`](/reference/query-languages/esql/commands/processing-commands.md#esql-keep) to limit the number of fields returned.
252252

253+
## Known issues [esql-known-issues]
254+
255+
Refer to [Known issues](/release-notes/known-issues.md) for a list of known issues for {{esql}}.

docs/reference/query-languages/query-dsl/query-dsl-bool-query.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ A query that matches documents matching boolean combinations of other queries. T
1313
| --- | --- |
1414
| `must` | The clause (query) must appear in matching documents and will contribute to the score. Each query defined under a `must` acts as a logical "AND", returning only documents that match *all* the specified queries. |
1515
| `should` | The clause (query) should appear in the matching document. Each query defined under a `should` acts as a logical "OR", returning documents that match *any* of the specified queries. |
16-
| `filter` | The clause (query) must appear in matching documents. However unlike`must` the score of the query will be ignored. Filter clauses are executedin [filter context](/reference/query-languages/query-dsl/query-filter-context.md), meaning that scoring is ignoredand clauses are considered for caching. Each query defined under a `filter` acts as a logical "AND", returning only documents that match *all* the specified queries. |
17-
| `must_not` | The clause (query) must not appear in the matchingdocuments. Clauses are executed in [filter context](/reference/query-languages/query-dsl/query-filter-context.md) meaningthat scoring is ignored and clauses are considered for caching. Because scoring isignored, a score of `0` for all documents is returned. Each query defined under a `must_not` acts as a logical "NOT", returning only documents that do not match any of the specified queries. |
16+
| `filter` | The clause (query) must appear in matching documents. However unlike `must` the score of the query will be ignored. Filter clauses are executed in [filter context](/reference/query-languages/query-dsl/query-filter-context.md), meaning that scoring is ignored and clauses are considered for caching. Each query defined under a `filter` acts as a logical "AND", returning only documents that match *all* the specified queries. |
17+
| `must_not` | The clause (query) must not appear in the matching documents. Clauses are executed in [filter context](/reference/query-languages/query-dsl/query-filter-context.md) meaning that scoring is ignored and clauses are considered for caching. Because scoring is ignored, a score of `0` for all documents is returned. Each query defined under a `must_not` acts as a logical "NOT", returning only documents that do not match any of the specified queries. |
1818

1919
The `must` and `should` clauses function as logical AND, OR operators, contributing to the scoring of results. However, these results are not cached, which means repeated queries won't benefit from faster retrieval. In contrast, the `filter` and `must_not` clauses are used to include or exclude results without impacting the score, unless used within a `constant_score` query.
2020

docs/reference/query-languages/query-dsl/query-dsl-knn-query.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,6 @@ POST my-image-index/_search
165165

166166
Knn query can be used as a part of hybrid search, where knn query is combined with other lexical queries. For example, the query below finds documents with `title` matching `mountain lake`, and combines them with the top 10 documents that have the closest image vectors to the `query_vector`. The combined documents are then scored and the top 3 top scored documents are returned.
167167

168-
+
169168

170169
```console
171170
POST my-image-index/_search

docs/release-notes/known-issues.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,19 @@ mapped_pages:
88
Known issues are significant defects or limitations that may impact your implementation. These issues are actively being worked on and will be addressed in a future release. Review the Elasticsearch known issues to help you make informed decisions, such as upgrading to a new version.
99

1010
## 9.0.3 [elasticsearch-9.0.3-known-issues]
11-
A bug in the merge scheduler in Elasticsearch 9.0.3 may prevent shards from closing when there isn’t enough disk space to complete a merge. As a result, operations such as closing or relocating an index may hang until sufficient disk space becomes available.
11+
* A bug in the merge scheduler in Elasticsearch 9.0.3 may prevent shards from closing when there isn’t enough disk space to complete a merge. As a result, operations such as closing or relocating an index may hang until sufficient disk space becomes available.
1212
To mitigate this issue, the disk space checker is disabled by default in 9.0.3 by setting `indices.merge.disk.check_interval` to `0` seconds. Manually enabling this setting is not recommended.
1313

14-
This issue is planned to be fixed in future patch release [#129613](https://github.com/elastic/elasticsearch/pull/129613)
14+
This issue is planned to be fixed in future patch release [#129613](https://github.com/elastic/elasticsearch/pull/129613)
15+
16+
* A bug in the ES|QL STATS command may yield incorrect results. The bug only happens in very specific cases that follow this pattern: `STATS ... BY keyword1, keyword2`, i.e. the command must have exactly two grouping fields, both keywords, where the first field has high cardinality (more than 65k distinct values).
17+
18+
The bug is described in detail in [this issue](https://github.com/elastic/elasticsearch/issues/130644).
19+
The problem was introduced in 8.16.0 and [fixed](https://github.com/elastic/elasticsearch/pull/130705) in 8.17.9, 8.18.7, 9.0.4.
20+
21+
Possible workarounds include:
22+
* switching the order of the grouping keys (eg. `STATS ... BY keyword2, keyword1`, if the `keyword2` has a lower cardinality)
23+
* reducing the grouping key cardinality, by filtering out values before STATS
1524

1625
## 9.0.0 [elasticsearch-9.0.0-known-issues]
1726
* Elasticsearch on Windows might fail to start, or might forbid some file-related operations, when referencing paths with a case different from the one stored by the filesystem. Windows treats paths as case-insensitive, but the filesystem stores them with case. Entitlements, the new security system used by Elasticsearch, treat all paths as case-sensitive, and can therefore prevent access to a path that should be accessible.
@@ -40,3 +49,12 @@ This issue will be fixed in a future patch release (see [PR #126990](https://git
4049
DELETE _index_template/.watches
4150
POST /_watcher/_start
4251
```
52+
53+
* A bug in the ES|QL STATS command may yield incorrect results. The bug only happens in very specific cases that follow this pattern: `STATS ... BY keyword1, keyword2`, i.e. the command must have exactly two grouping fields, both keywords, where the first field has high cardinality (more than 65k distinct values).
54+
55+
The bug is described in detail in [this issue](https://github.com/elastic/elasticsearch/issues/130644).
56+
The problem was introduced in 8.16.0 and [fixed](https://github.com/elastic/elasticsearch/pull/130705) in 8.17.9, 8.18.7, 9.0.4.
57+
58+
Possible workarounds include:
59+
* switching the order of the grouping keys (eg. `STATS ... BY keyword2, keyword1`, if the `keyword2` has a lower cardinality)
60+
* reducing the grouping key cardinality, by filtering out values before STATS

muted-tests.yml

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,6 @@ tests:
176176
- class: org.elasticsearch.test.rest.ClientYamlTestSuiteIT
177177
method: test {yaml=snapshot.delete/10_basic/Delete a snapshot asynchronously}
178178
issue: https://github.com/elastic/elasticsearch/issues/122102
179-
- class: org.elasticsearch.smoketest.SmokeTestMonitoringWithSecurityIT
180-
method: testHTTPExporterWithSSL
181-
issue: https://github.com/elastic/elasticsearch/issues/122220
182179
- class: org.elasticsearch.blocks.SimpleBlocksIT
183180
method: testConcurrentAddBlock
184181
issue: https://github.com/elastic/elasticsearch/issues/122324
@@ -344,9 +341,6 @@ tests:
344341
- class: org.elasticsearch.xpack.test.rest.XPackRestIT
345342
method: test {p0=ml/data_frame_analytics_cat_apis/Test cat data frame analytics all jobs with header}
346343
issue: https://github.com/elastic/elasticsearch/issues/127625
347-
- class: org.elasticsearch.xpack.search.CrossClusterAsyncSearchIT
348-
method: testCancellationViaTimeoutWithAllowPartialResultsSetToFalse
349-
issue: https://github.com/elastic/elasticsearch/issues/127096
350344
- class: org.elasticsearch.xpack.ccr.action.ShardFollowTaskReplicationTests
351345
method: testChangeFollowerHistoryUUID
352346
issue: https://github.com/elastic/elasticsearch/issues/127680
@@ -516,12 +510,6 @@ tests:
516510
- class: org.elasticsearch.xpack.esql.action.EsqlActionBreakerIT
517511
method: testTopNPushedToLucene
518512
issue: https://github.com/elastic/elasticsearch/issues/130505
519-
- class: org.elasticsearch.xpack.monitoring.exporter.http.HttpExporterTests
520-
method: testExporterWithHostOnly
521-
issue: https://github.com/elastic/elasticsearch/issues/130599
522-
- class: org.elasticsearch.xpack.monitoring.exporter.http.HttpExporterTests
523-
method: testCreateRestClient
524-
issue: https://github.com/elastic/elasticsearch/issues/130600
525513
- class: org.elasticsearch.xpack.esql.qa.multi_node.EsqlSpecIT
526514
method: test {match-operator.MatchWithMoreComplexDisjunctionAndConjunction SYNC}
527515
issue: https://github.com/elastic/elasticsearch/issues/130640
@@ -537,12 +525,6 @@ tests:
537525
- class: org.elasticsearch.indices.stats.IndexStatsIT
538526
method: testFilterCacheStats
539527
issue: https://github.com/elastic/elasticsearch/issues/124447
540-
- class: org.elasticsearch.xpack.esql.action.CrossClusterAsyncQueryStopIT
541-
method: testStopQueryLocal
542-
issue: https://github.com/elastic/elasticsearch/issues/121672
543-
- class: org.elasticsearch.xpack.esql.action.EsqlRemoteErrorWrapIT
544-
method: testThatRemoteErrorsAreWrapped
545-
issue: https://github.com/elastic/elasticsearch/issues/130794
546528
- class: org.elasticsearch.backwards.MixedClusterClientYamlTestSuiteIT
547529
method: test {p0=mtermvectors/10_basic/Tests catching other exceptions per item}
548530
issue: https://github.com/elastic/elasticsearch/issues/122414
@@ -564,6 +546,15 @@ tests:
564546
- class: org.elasticsearch.xpack.esql.action.EsqlActionBreakerIT
565547
method: testRowStatsProjectGroupByInt
566548
issue: https://github.com/elastic/elasticsearch/issues/131024
549+
- class: org.elasticsearch.common.util.concurrent.TaskExecutionTimeTrackingEsThreadPoolExecutorTests
550+
method: testMaxQueueLatency
551+
issue: https://github.com/elastic/elasticsearch/issues/131093
552+
- class: org.elasticsearch.xpack.esql.action.CrossClusterAsyncQueryStopIT
553+
method: testStopQueryLocal
554+
issue: https://github.com/elastic/elasticsearch/issues/121672
555+
- class: org.elasticsearch.xpack.esql.qa.multi_node.EsqlSpecIT
556+
method: test {lookup-join.MvJoinKeyOnFromAfterStats ASYNC}
557+
issue: https://github.com/elastic/elasticsearch/issues/131148
567558

568559
# Examples:
569560
#

rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/40_knn_search.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -670,3 +670,36 @@ setup:
670670
properties:
671671
embedding:
672672
type: dense_vector
673+
674+
675+
---
676+
"Searching with no data dimensions specified":
677+
- requires:
678+
cluster_features: "search.vectors.no_dimensions_bugfix"
679+
reason: "Search with no dimensions bugfix"
680+
681+
- do:
682+
indices.create:
683+
index: empty-test
684+
body:
685+
mappings:
686+
properties:
687+
vector:
688+
type: dense_vector
689+
index: true
690+
691+
- do:
692+
search:
693+
index: empty-test
694+
body:
695+
fields: [ "name" ]
696+
knn:
697+
field: vector
698+
query_vector: [ -0.5, 90.0, -10, 14.8, -156.0 ]
699+
k: 3
700+
num_candidates: 3
701+
rescore_vector:
702+
oversample: 1.5
703+
similarity: 0.1
704+
705+
- match: { hits.total.value: 0 }

0 commit comments

Comments
 (0)