mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-29 01:44:36 -04:00
* delete asciidoc files
* add migrated files
* fix errors
* Disable docs tests
* Clarify release notes page titles
* Revert "Clarify release notes page titles"
This reverts commit 8be688648d
.
* Comment out edternal URI images
* Clean up query languages landing pages, link to conceptual docs
* Add .md to url
* Fixes inference processor nesting.
---------
Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>
Co-authored-by: Liam Thompson <leemthompo@gmail.com>
Co-authored-by: Martijn Laarman <Mpdreamz@gmail.com>
Co-authored-by: István Zoltán Szabó <szabosteve@gmail.com>
2.5 KiB
2.5 KiB
mapped_pages | |
---|---|
|
Update by query context [painless-update-by-query-context]
Use a Painless script in an update by query operation to add, modify, or delete fields within each of a set of documents collected as the result of query.
Variables
params
(Map
, read-only)- User-defined parameters passed in as part of the query.
ctx['op']
(String
)- The name of the operation.
ctx['_routing']
(String
, read-only)- The value used to select a shard for document storage.
ctx['_index']
(String
, read-only)- The name of the index.
ctx['_id']
(String
, read-only)- The unique document id.
ctx['_version']
(int
, read-only)- The current version of the document.
ctx['_source']
(Map
)- Contains extracted JSON in a
Map
andList
structure for the fields existing in a stored document.
Side Effects
ctx['op']
- Use the default of
index
to update a document. Set tonone
to specify no operation ordelete
to delete the current document from the index. ctx['_source']
- Modify the values in the
Map/List
structure to add, modify, or delete the fields of a document.
Return
void
- No expected return value.
API
The standard Painless API is available.
Example
To run this example, first follow the steps in context examples.
The following query finds all seats in a specific section that have not been sold and lowers the price by 2:
POST /seats/_update_by_query
{
"query": {
"bool": {
"filter": [
{
"range": {
"row": {
"lte": 3
}
}
},
{
"match": {
"sold": false
}
}
]
}
},
"script": {
"source": "ctx._source.cost -= params.discount",
"lang": "painless",
"params": {
"discount": 2
}
}
}