Commit graph

12321 commits

Author SHA1 Message Date
Liam Thompson
f7f8ab0012
[DOCS] More targeted link for ESQL in CCS overview (#120125) 2025-01-15 10:32:33 +01:00
Mark Tozzi
2482f06f3c
ESQL - docs for to_date_nanos (#120124)
I forgot to link the ToDateNanos docs when I merged that function.
---------

Co-authored-by: elasticsearchmachine <infra-root+elasticsearchmachine@elastic.co>
2025-01-14 16:31:24 -05:00
Pete Gillin
d85b90ad8c
Remove unfreeze REST endpoint (#119227)
This adds a sentence to `redirects.asciidoc` explaining what frozen
indices were - otherwise, everything will point to the message about
the unfreeze API having gone away, which is not very helpful. Some
cross-references are updated to point to this rather than to the
notice about the removal of the unfreeze API.

ES-9736 #comment Removed `_unfreeze` REST endpoint in https://github.com/elastic/elasticsearch/pull/119227
2025-01-14 10:34:46 +00:00
Ioana Tagirta
f5ac68df95
ESQL: Document support for semantic_text field mapping (#120052)
* Document support for semantic_text field mapping

* Address review comments
2025-01-13 22:18:47 +01:00
Nik Everett
c990377c95
ESQL: Limit memory usage of fold (#118602)
`fold` can be surprisingly heavy! The maximally efficient/paranoid thing
would be to fold each expression one time, in the constant folding rule,
and then store the result as a `Literal`. But this PR doesn't do that
because it's a big change. Instead, it creates the infrastructure for
tracking memory usage for folding as plugs it into as many places as
possible. That's not perfect, but it's better.

This infrastructure limit the allocations of fold similar to the
`CircuitBreaker` infrastructure we use for values, but it's different
in a critical way: you don't manually free any of the values. This is
important because the plan itself isn't `Releasable`, which is required
when using a real CircuitBreaker. We could have tried to make the plan
releasable, but that'd be a huge change.

Right now there's a single limit of 5% of heap per query. We create the
limit at the start of query planning and use it throughout planning.

There are about 40 places that don't yet use it. We should get them
plugged in as quick as we can manage. After that, we should look to the
maximally efficient/paranoid thing that I mentioned about waiting for
constant folding. That's an even bigger change, one I'm not equipped
to make on my own.
2025-01-13 15:04:27 +00:00
Jonathan Buttner
838a41a839
[ML] Adding docs for the unified inference API (#118696)
* Including examples

* Using js instead of json

* Adding unified docs to main page

* Adding missing description text

* Refactoring to remove unified route

* Addign back references to the _unified route

* Update docs/reference/inference/chat-completion-inference.asciidoc

Co-authored-by: István Zoltán Szabó <istvan.szabo@elastic.co>

* Address feedback

---------

Co-authored-by: István Zoltán Szabó <istvan.szabo@elastic.co>
2025-01-13 09:48:23 -05:00
Mark Tozzi
e9f2d78923
Esql additional date format testing (#120000)
This wires up the randomized testing for DateFormat. Prior to this PR, none of the randomized testing was hitting the one parameter version of the function, so I wired that up as well. This required some compromises on the type signatures, see comments in line.less

---------

Co-authored-by: elasticsearchmachine <infra-root+elasticsearchmachine@elastic.co>
2025-01-13 14:11:52 +00:00
George Wallace
8ac3c2d371
Adjustments to match Opster, readability (#119812) (#120031)
* Adjustments to match Opster, readability

https://opster.com/guides/elasticsearch/search-apis/elasticsearch-bool-queries/

* Edits



* Spacing



---------

Co-authored-by: Kofi B <23384471+thekofimensah@users.noreply.github.com>
2025-01-13 12:03:59 +01:00
Mayya Sharipova
de0914965f
[DOCS] Interval query max_gaps in all_of rule (#119963)
Add more explanation how `max_gaps` work in interval queries with
`all_of` rule.

Closes #113554
2025-01-11 07:59:32 +11:00
Orestis Floros
3c184b912c
Permissions required for stateful agentless integrations (#118644)
Closes elastic/security-team#11102
Closes elastic/security-team#11104

This allows agentless integrations (via elastic/beats#41446, elastic/kibana#203810) to write to agentless-* indices. Each index is created on-demand by the filebeat client and kibana conditionally extends the API key permissions to allow writing to the index.
2025-01-10 16:30:11 +00:00
Valentin Crettaz
1e608dc223
[DOCS] Improve/fix documentation on stored scripts (#119921)
* Improve/fix documentation on stored scripts

* Update docs/reference/scripting/using.asciidoc

Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>

* Update docs/reference/scripting/using.asciidoc

Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>

* Update docs/reference/transform/painless-examples.asciidoc

Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>

---------

Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>
2025-01-10 16:13:09 +00:00
Artem Shelkovnikov
f2d069e2bf
Update Sharepoint Online connector documentation (#119933)
Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>
2025-01-10 15:56:38 +01:00
Aurélien FOUCRET
31f11c3c0c
[ES|QL] Enable KQL function as a tech preview (#119730) 2025-01-10 12:49:28 +01:00
Niels Bauman
80e8017bb6
Run TransportGetIndexTemplatesAction on local node (#119837)
This action solely needs the cluster state, it can run on any node.
Additionally, it needs to be cancellable to avoid doing unnecessary work
after a client failure or timeout.

As a drive-by, this removes another usage of the trappy default master
node timeout.
2025-01-10 00:20:16 +00:00
Niels Bauman
65e4ec129c
Run TransportGetComposableIndexTemplate on local node (#119830)
This action solely needs the cluster state, it can run on any node.
Additionally, it needs to be cancellable to avoid doing unnecessary work
after a client failure or timeout.

As a drive-by, this removes another usage of the trappy default master
node timeout.
2025-01-10 09:00:31 +10:00
mmahacek
74d235124e
Fix line spacing on ILM docs (#119807) 2025-01-09 08:52:54 -08:00
Kathleen DeRusso
c7ec808f45
[Docs] Add docs for new semantic text query functionality (#119520)
* Update docs with new semantic text functionality

* PR feedback

* PR feedback

* PR Feedback
2025-01-09 11:11:20 -05:00
David Kyle
547a567c13
[DOCS][ML] Document the text_expansion task type (#119581) 2025-01-09 15:44:01 +00:00
Arianna Laudazzi
70e5a67904
[AutoOps] Reference AutoOps solution on troubleshooting pages (#119630)
* Reference AutoOps on troubleshooting pages

* Integrate reviewer's feedback
2025-01-09 16:24:20 +01:00
shainaraskas
d37e1bd14d
Fix broken anchors (#119802) 2025-01-09 09:15:00 -05:00
Michael Peterson
230acb8ac5
Resolve/cluster should mark remotes as not connected when a security exception is thrown (#119793)
Fixes two bugs in _resolve/cluster.

First, the code that detects older clusters versions and does a fallback to the _resolve/index
endpoint was using an outdated string match for error detection. That has been adjusted.

Second, upon security exceptions, the _resolve/cluster endpoint was marking the clusters as connected: true,
under the assumption that all security exceptions related to cross cluster calls and remote index access were
coming from the remote cluster, but that is not always the case. Some cross-cluster security violations can
be detected on the local querying cluster after issuing the remoteClient.execute call but before the transport
layer actually sends the request remotely. So we now mark the connected status as false for all ElasticsearchSecurityException cases. End user docs have been updated with this information.
2025-01-09 08:56:57 -05:00
Jedr Blaszyk
750a0ab846
[Connector API] Support soft-deletes of connectors (#118669)
* [Connector API] Add interface for soft-deletes

* Define connector deleted system index

* Got soft-delete logic working

* Add unit tests

* Add yaml e2e test and attempt to update permissions

* Fix permissions

* Update docs

* Fix docs

* Update docs/changelog/118282.yaml

* Change logic

* Fix tests

* Remove unnecessary privilege from yaml rest test

* Update changelog

* Update docs/changelog/118669.yaml

* Adapt yaml tests

* Undo changes to muted-tests.yml

* Fix compilation issue after other PR got merged

* Exclude soft-deleted connector from checks about index_name already in use

* Update docs/reference/connector/apis/get-connector-api.asciidoc

Co-authored-by: Tim Grein <tim@4greins.de>

* Update rest-api-spec/src/main/resources/rest-api-spec/api/connector.list.json

Co-authored-by: Tim Grein <tim@4greins.de>

* Adapt comments, add connector wire serializing test

* Introduce new transport versions for passing the delete flag

* Get rid of wire serialisation, use include_deleted instead of deleted flag

* Remove unused import

* Final tweaks

* Adapt variable name in rest layer

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Tim Grein <tim@4greins.de>
2025-01-09 12:20:28 +00:00
Liam Thompson
996a4f8e7d
Update rejected-requests.asciidoc (#119547) (#119673)
I believe this is a typo, as in our 8.16.1 cluster this field appears to be called `combined_coordinating_and_primary`

Co-authored-by: Ian Lee <IanLee1521@gmail.com>
2025-01-09 11:01:46 +01:00
Lisa Cawley
385040d2b5
[DOCS] Fix link in repository-s3.asciidoc (#119719) 2025-01-08 12:02:36 -08:00
James Baiera
c3839e1f76
Add selector syntax to index expressions (#118614)
This PR introduces a new syntactical feature to index expression resolution: The selector.

Selectors, denoted with a :: followed by a recognized suffix will allow users to specify which component of 
an index abstraction they would like to operate on within an API call. In this case, an index abstraction is a 
concrete index, data stream, or alias; Any abstraction that can be resolved to a set of indices/shards. We 
define a component of an index abstraction to be some searchable unit of the index abstraction.
2025-01-08 11:37:03 -05:00
Ievgen Degtiarenko
fd1be8ce6f
Hash functions (#118938)
This change adds md5, sha1 and sha256 hash functions.
2025-01-08 16:44:15 +01:00
Albert Zaharovits
12eb1cfda1
Metrics for indexing failures due to version conflicts (#119067)
This exposes new OTel node and index based metrics for indexing failures due to version conflicts.

In addition, the /_cat/shards, /_cat/indices and /_cat/nodes APIs also expose the same metric, under the newly added column iifvc.

Relates: #107601
2025-01-08 12:34:37 +00:00
Benjamin Trent
c18b48dbd4
Apply default k for knn query eagerly (#118774)
When originally added, the knn query didn't apply `top-k` restrictions
to the query. Instead it would allow the resulting `num_candidate` to be
combined with sibling queries without restricting to `top-size` results
ahead of time.

This honestly is confusing behavior and leads to some bugs in understand
how it all works.

This commit addresses this by eagerly gathering only `size` results when
`k==null` before combining with other queries. 

To achieve the previous behavior, this can be done directly by setting
`k==num_candidates` in the query.
2025-01-08 07:40:34 +11:00
Joan Fontanals
53a16ee967
[docs] Add documentation for JinaAI service (#118782) 2025-01-07 18:04:12 +00:00
Svilen Mihaylov
93c349cc76
Add ability to set "max_analyzed_offset" implicitly to "index.highlight (#118895)
Add ability to set "max_analyzed_offet" implicitly to "index.highlight
.max_analyzed_offset", by setting it excplicitly to "-1".

Closes #112822
2025-01-07 11:19:07 -05:00
Liam Thompson
92bb091521
[DOCS] RAG overview (#119590) 2025-01-07 15:18:39 +01:00
Srikanth Manvi
8ded6c4568
Update search-application-api.asciidoc (#118494)
Fixing minor Typo
2025-01-07 13:30:14 +01:00
Liam Thompson
c7b61bdc63
[DOCS] Add full-text search overview (#119462) 2025-01-06 17:56:35 +00:00
shainaraskas
17111e1258
[DOCS] Concept cleanup 2 - ES settings (#119373) 2025-01-06 12:07:15 -05:00
Benjamin Trent
a5716c8f99
Add new experimental rank_vectors mapping for late-interaction second order ranking (#118804)
Late-interaction models are powerful rerankers. While their size and
overall cost doesn't lend itself for HNSW indexing, utilizing them as
second order "brute-force" reranking can provide excellent boosts in
relevance. At generally lower inference times than large cross-encoders.


This commit exposes a new experimental `rank_vectors` field that allows
for maxSim operations. This unlocks the initial, and most common use of
late-interaction dense-models. 

For example, this is how you would use it via the API:

```
PUT index
{
  "mappings": {
    "properties": {
      "late_interaction_vectors": {
        "type": "rank_vectors"
      }
    }
  }
}
```

Then to index:

```
POST index/_doc
{
  "late_interaction_vectors": [[0.1, ...],...]
}
```

For querying, scoring can be exposed with scripting:

```
POST index/_search
{
  "query": {
    "script_score": {
      "query": {
        "match_all": {}
      },
      "script": {
        "source": "maxSimDotProduct(params.query_vector, 'my_vector')",
        "params": {
          "query_vector": [[0.42, ...], ...]
        }
      }
    }
  }
}
```

Of course, the initial ranking should be done before re-scoring or
combining via the `rescore` parameter, or simply passing whatever first
phase retrieval you want as the inner query in `script_score`.
2025-01-07 04:06:59 +11:00
Dan Rubinstein
f5cffbf300
Deprecating data_frame_transforms roles (#117519)
* Deprecating data_frame_transforms roles

* Update docs/changelog/117519.yaml

* Update changelog

* Removing deprecation warning

* Cleaning up unused role retrieval function

* Update docs/changelog/117519.yaml

* Update changelog with breaking change details

* Revert ClusterPrivilegeResolver

* Remove Deprecated Transform Role permissions

* Update docs/changelog/117519.yaml

Co-authored-by: Nikolaj Volgushev <n1v0lg@users.noreply.github.com>

* Revert "Remove Deprecated Transform Role permissions"

This reverts commit 4599256dcf.

* Revert docs, update changelog

* Revert privilege tests

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Nikolaj Volgushev <n1v0lg@users.noreply.github.com>
Co-authored-by: Pat Whelan <pat.whelan@elastic.co>
2025-01-06 11:00:16 -05:00
István Zoltán Szabó
c32cec165a
[DOCS] Adds note on default ELSER and E5 endpoints to service pages (#119507)
* [DOCS] Adds note on default ELSER and E5 enpoints to service pages.

* [DOCS] Further edits.
2025-01-03 15:53:17 +01:00
Edoardo Tenani
171424727a
[DOCS] update recommended template priority for override to 500 (#119450) 2025-01-03 11:12:25 +01:00
Stanislav Malyshev
0292905ef6
Add ESQL telemetry collection (#119474)
* Add ESQL telemetry collection
2025-01-02 14:05:21 -07:00
shainaraskas
9862a43cb6
[DOCS] Concept cleanup (extracting conceptual docs from reference content pt I of ?) (#119016) 2025-01-02 15:05:08 +00:00
Lisa Cawley
8a821f0a96
[DOCS] More links to new API site (#119380) 2024-12-31 12:02:59 -08:00
Lisa Cawley
ba8beecdb0
[DOCS] More links to new API site (#119377) 2024-12-31 11:32:29 -08:00
Ryan Ernst
7fb6ca447a
Add ephemeral node id to shutdown metadata (#118722)
Shutdown metadata is keyed on node id. This makes sense since only one
node with a given node id can exist within a cluster. However, it is
possible that shutdown was initiated for one instance of a node, but
that node is restarted. This commit adds the ephemeral node id to
shutdown metadata so that nodes with the same id but different ephemeral
id can be distinguished.
2024-12-30 10:13:58 -08:00
Lisa Cawley
5e0fbef58b
[DOCS] Link to new API site (#119038)
Co-authored-by: shainaraskas <58563081+shainaraskas@users.noreply.github.com>
2024-12-30 16:52:16 +00:00
Max Hniebergall
7e126d75a4
[Inference API] Update get-inference docs to use elasticsearch service (#119238)
* update get-inference docs to use elasticsearch service

* fix indentation
2024-12-30 10:11:40 -05:00
Jim Ferenczi
12e86b1cd0
Refactor semantic text field to align with text field behaviour (#119183)
Co-authored-by: Mike Pellegrini <mike.pellegrini@elastic.co>
2024-12-30 09:31:02 +01:00
Stef Nestor
ec35dc2049
(Doc+) Videos of rejected requests (#119311)
* (Doc+) Videos of rejected requests
2024-12-27 13:49:57 -07:00
Stef Nestor
c8f2703cdf
(Doc+) Flush out Slow Logs (#118518)
* (Doc+) Slow Logs

---------

Co-authored-by: shainaraskas <58563081+shainaraskas@users.noreply.github.com>
2024-12-27 10:12:00 -07:00
Stef Nestor
db1c41b41d
(Doc+) Enrich run on ingest+data nodes not coordinating-only (#119136)
* (Doc+) Enrich run on ingest+data nodes not coordinating-only

👋 howdy, team! I'm not otherwise finding it so documenting https://github.com/elastic/elasticsearch/issues/95969 in ES docs

> Currently we tell users of enrich that they should co-locate the nodes that perform the enrichment (ingest nodes) with the actual enrich data so that enrich operations don't require a remote search operation.

* feedback

Co-authored-by: Lee Hinman <dakrone@users.noreply.github.com>

---------

Co-authored-by: Lee Hinman <dakrone@users.noreply.github.com>
2024-12-25 08:17:18 -07:00
Niels Bauman
9641c7623f
Run TransportGetComponentTemplateAction on local node (#116868)
This action solely needs the cluster state, it can run on any node.
Additionally, it needs to be cancellable to avoid doing unnecessary work
after a client failure or timeout.

The `?local` parameter becomes a no-op and is marked as deprecated.

Relates #101805
Relates #107984
2024-12-23 20:01:21 +00:00