Skip to content

Commit 909193b

Browse files
committed
Merge remote-tracking branch 'kingherc/main' into non-issue/detail-flush-skipped
2 parents 02cda31 + fe4a523 commit 909193b

File tree

135 files changed

+4879
-3350
lines changed

Some content is hidden

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

135 files changed

+4879
-3350
lines changed

build-tools/src/main/java/org/elasticsearch/gradle/test/TestBuildInfoPlugin.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,9 @@ public void apply(Project project) {
5757
task.into("META-INF", copy -> copy.from(testBuildInfoTask));
5858
});
5959

60-
if (project.getRootProject().getName().equals("elasticsearch")) {
61-
project.getTasks()
62-
.withType(Test.class)
63-
.matching(test -> List.of("test", "internalClusterTest").contains(test.getName()))
64-
.configureEach(test -> {
65-
test.systemProperty("es.entitlement.enableForTests", "true");
66-
});
67-
}
60+
project.getTasks()
61+
.withType(Test.class)
62+
.matching(test -> List.of("test", "internalClusterTest").contains(test.getName()))
63+
.configureEach(test -> test.getSystemProperties().putIfAbsent("es.entitlement.enableForTests", "true"));
6864
}
6965
}

distribution/docker/src/docker/iron_bank/hardening_manifest.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ tags:
1111
# Build args passed to Dockerfile ARGs
1212
args:
1313
BASE_IMAGE: "redhat/ubi/ubi9"
14-
BASE_TAG: "9.5"
14+
BASE_TAG: "9.6"
1515
# Docker image labels
1616
labels:
1717
org.opencontainers.image.title: "elasticsearch"

docs/changelog/113949.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
pr: 113949
2+
summary: Support kNN filter on nested metadata
3+
area: Vector Search
4+
type: enhancement
5+
issues:
6+
- 128803
7+
- 106994

docs/changelog/129662.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 129662
2+
summary: "[Security] Add entity store and asset criticality index privileges to built\
3+
\ in Editor, Viewer and Kibana System roles"
4+
area: Authorization
5+
type: enhancement
6+
issues: []

docs/changelog/131261.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
pr: 131261
2+
summary: Enable Failure Store for new logs-*-* data streams
3+
area: Data streams
4+
type: feature
5+
issues:
6+
- 131105
7+
highlight:
8+
title: Enable Failure Store for new logs data streams
9+
body: |-
10+
The [Failure Store](docs-content://manage-data/data-store/data-streams/failure-store.md) is now enabled by default for new logs data streams matching the pattern `logs-*-*`. This means that such data streams will now store invalid documents in a
11+
dedicated failure index instead of rejecting them, allowing better visibility and control over data quality issues without loosing data. This can be [enabled manually](docs-content://manage-data/data-store/data-streams/failure-store.md#set-up-failure-store-existing) for existing data streams.
12+
Note: With the failure store enabled, the http response code clients receive when indexing invalid documents will change from `400 Bad Request` to `201 Created`, with an additional response attribute `"failure_store" : "used"`.
13+
notable: true

docs/changelog/131517.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 131517
2+
summary: Refresh potential lost connections at query start for field caps
3+
area: Search
4+
type: enhancement
5+
issues: []

docs/changelog/131937.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 131937
2+
summary: Fix race condition in `RemoteClusterService.collectNodes()`
3+
area: Distributed
4+
type: bug
5+
issues: []

docs/changelog/132101.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 132101
2+
summary: Simulate ingest API uses existing index mapping when `mapping_addition` is
3+
given
4+
area: Ingest Node
5+
type: bug
6+
issues: []

docs/reference/elasticsearch/mapping-reference/semantic-text.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ the embedding generation, indexing, and query to use.
3737
[quantized](/reference/elasticsearch/mapping-reference/dense-vector.md#dense-vector-quantization)
3838
to `bbq_hnsw` automatically.
3939

40+
## Default and custom endpoints
41+
42+
You can use either preconfigured endpoints in your `semantic_text` fields which
43+
are ideal for most use cases or create custom endpoints and reference them in
44+
the field mappings.
45+
46+
### Using the default ELSER endpoint
47+
4048
If you use the preconfigured `.elser-2-elasticsearch` endpoint, you can set up
4149
`semantic_text` with the following API request:
4250

@@ -53,6 +61,8 @@ PUT my-index-000001
5361
}
5462
```
5563

64+
### Using a custom endpoint
65+
5666
To use a custom {{infer}} endpoint instead of the default
5767
`.elser-2-elasticsearch`, you
5868
must [Create {{infer}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put)
@@ -96,6 +106,35 @@ PUT my-index-000003
96106
}
97107
```
98108

109+
### Using ELSER on EIS
110+
111+
```{applies_to}
112+
stack: preview 9.1
113+
serverless: preview
114+
```
115+
116+
If you use the preconfigured `.elser-2-elastic` endpoint that utilizes the ELSER model as a service through the Elastic Inference Service ([ELSER on EIS](docs-content://explore-analyze/elastic-inference/eis.md#elser-on-eis)), you can
117+
set up `semantic_text` with the following API request:
118+
119+
```console
120+
PUT my-index-000001
121+
{
122+
"mappings": {
123+
"properties": {
124+
"inference_field": {
125+
"type": "semantic_text",
126+
"inference_id": ".elser-2-elastic"
127+
}
128+
}
129+
}
130+
}
131+
```
132+
133+
::::{note}
134+
While we do encourage experimentation, we do not recommend implementing production use cases on top of this feature while it is in Technical Preview.
135+
136+
::::
137+
99138
## Parameters for `semantic_text` fields [semantic-text-params]
100139

101140
`inference_id`

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

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,26 @@ The `COMPLETION` command allows you to send prompts and context to a Large Langu
99

1010
**Syntax**
1111

12+
::::{tab-set}
13+
14+
:::{tab-item} 9.2.0+
15+
1216
```esql
13-
COMPLETION [column =] prompt WITH inference_id
17+
COMPLETION [column =] prompt WITH { "inference_id" : "my_inference_endpoint" }
1418
```
1519

20+
:::
21+
22+
:::{tab-item} 9.1.x only
23+
24+
```esql
25+
COMPLETION [column =] prompt WITH my_inference_endpoint
26+
```
27+
28+
:::
29+
30+
::::
31+
1632
**Parameters**
1733

1834
`column`
@@ -24,7 +40,7 @@ COMPLETION [column =] prompt WITH inference_id
2440
: The input text or expression used to prompt the LLM.
2541
This can be a string literal or a reference to a column containing text.
2642

27-
`inference_id`
43+
`my_inference_endpoint`
2844
: The ID of the [inference endpoint](docs-content://explore-analyze/elastic-inference/inference-api.md) to use for the task.
2945
The inference endpoint must be configured with the `completion` task type.
3046

@@ -46,16 +62,46 @@ including:
4662
**Requirements**
4763

4864
To use this command, you must deploy your LLM model in Elasticsearch as
49-
an [inference endpoint](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put) with the
65+
an [inference endpoint](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-inference-put) with the
5066
task type `completion`.
5167

68+
#### Handling timeouts
69+
70+
`COMPLETION` commands may time out when processing large datasets or complex prompts. The default timeout is 10 minutes, but you can increase this limit if necessary.
71+
72+
How you increase the timeout depends on your deployment type:
73+
74+
::::{tab-set}
75+
:::{tab-item} {{ech}}
76+
* You can adjust {{es}} settings in the [Elastic Cloud Console](docs-content://deploy-manage/deploy/elastic-cloud/edit-stack-settings.md)
77+
* You can also adjust the `search.default_search_timeout` cluster setting using [Kibana's Advanced settings](kibana://reference/advanced-settings.md#kibana-search-settings)
78+
:::
79+
80+
:::{tab-item} Self-managed
81+
* You can configure at the cluster level by setting `search.default_search_timeout` in `elasticsearch.yml` or updating via [Cluster Settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings)
82+
* You can also adjust the `search:timeout` setting using [Kibana's Advanced settings](kibana://reference/advanced-settings.md#kibana-search-settings)
83+
* Alternatively, you can add timeout parameters to individual queries
84+
:::
85+
86+
:::{tab-item} {{serverless-full}}
87+
* Requires a manual override from Elastic Support because you cannot modify timeout settings directly
88+
:::
89+
::::
90+
91+
If you don't want to increase the timeout limit, try the following:
92+
93+
* Reduce data volume with `LIMIT` or more selective filters before the `COMPLETION` command
94+
* Split complex operations into multiple simpler queries
95+
* Configure your HTTP client's response timeout (Refer to [HTTP client configuration](/reference/elasticsearch/configuration-reference/networking-settings.md#_http_client_configuration))
96+
97+
5298
**Examples**
5399

54100
Use the default column name (results stored in `completion` column):
55101

56102
```esql
57103
ROW question = "What is Elasticsearch?"
58-
| COMPLETION question WITH test_completion_model
104+
| COMPLETION question WITH { "inference_id" : "my_inference_endpoint" }
59105
| KEEP question, completion
60106
```
61107

@@ -67,7 +113,7 @@ Specify the output column (results stored in `answer` column):
67113

68114
```esql
69115
ROW question = "What is Elasticsearch?"
70-
| COMPLETION answer = question WITH test_completion_model
116+
| COMPLETION answer = question WITH { "inference_id" : "my_inference_endpoint" }
71117
| KEEP question, answer
72118
```
73119

@@ -87,7 +133,7 @@ FROM movies
87133
"Synopsis: ", synopsis, "\n",
88134
"Actors: ", MV_CONCAT(actors, ", "), "\n",
89135
)
90-
| COMPLETION summary = prompt WITH test_completion_model
136+
| COMPLETION summary = prompt WITH { "inference_id" : "my_inference_endpoint" }
91137
| KEEP title, summary, rating
92138
```
93139

0 commit comments

Comments
 (0)