CONSOLEify the "using scripts" documentation
I found an error in one of the Painless scripts as part of the conversion. Relates to #18160
This commit is contained in:
parent
8482503f9b
commit
9d2293b381
|
@ -88,7 +88,6 @@ buildRestTests.expectedUnconvertedCandidates = [
|
||||||
'reference/mapping/types/object.asciidoc',
|
'reference/mapping/types/object.asciidoc',
|
||||||
'reference/mapping/types/percolator.asciidoc',
|
'reference/mapping/types/percolator.asciidoc',
|
||||||
'reference/modules/scripting/security.asciidoc',
|
'reference/modules/scripting/security.asciidoc',
|
||||||
'reference/modules/scripting/using.asciidoc',
|
|
||||||
'reference/modules/cross-cluster-search.asciidoc', // this is hard to test since we need 2 clusters -- maybe we can trick it into referencing itself...
|
'reference/modules/cross-cluster-search.asciidoc', // this is hard to test since we need 2 clusters -- maybe we can trick it into referencing itself...
|
||||||
'reference/query-dsl/function-score-query.asciidoc',
|
'reference/query-dsl/function-score-query.asciidoc',
|
||||||
'reference/search/field-stats.asciidoc',
|
'reference/search/field-stats.asciidoc',
|
||||||
|
@ -107,6 +106,7 @@ integTestCluster {
|
||||||
Closure configFile = {
|
Closure configFile = {
|
||||||
extraConfigFile it, "src/test/cluster/config/$it"
|
extraConfigFile it, "src/test/cluster/config/$it"
|
||||||
}
|
}
|
||||||
|
configFile 'scripts/calculate_score.painless'
|
||||||
configFile 'scripts/my_script.painless'
|
configFile 'scripts/my_script.painless'
|
||||||
configFile 'scripts/my_init_script.painless'
|
configFile 'scripts/my_init_script.painless'
|
||||||
configFile 'scripts/my_map_script.painless'
|
configFile 'scripts/my_map_script.painless'
|
||||||
|
|
|
@ -12,6 +12,7 @@ the same pattern:
|
||||||
"params": { ... } <3>
|
"params": { ... } <3>
|
||||||
}
|
}
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
// NOTCONSOLE
|
||||||
<1> The language the script is written in, which defaults to `painless`.
|
<1> The language the script is written in, which defaults to `painless`.
|
||||||
<2> The script itself which may be specified as `inline`, `stored`, or `file`.
|
<2> The script itself which may be specified as `inline`, `stored`, or `file`.
|
||||||
<3> Any named parameters that should be passed into the script.
|
<3> Any named parameters that should be passed into the script.
|
||||||
|
@ -89,6 +90,7 @@ multipliers, don't hard-code the multiplier into the script:
|
||||||
----------------------
|
----------------------
|
||||||
"inline": "doc['my_field'] * 2"
|
"inline": "doc['my_field'] * 2"
|
||||||
----------------------
|
----------------------
|
||||||
|
// NOTCONSOLE
|
||||||
|
|
||||||
Instead, pass it in as a named parameter:
|
Instead, pass it in as a named parameter:
|
||||||
|
|
||||||
|
@ -99,6 +101,7 @@ Instead, pass it in as a named parameter:
|
||||||
"multiplier": 2
|
"multiplier": 2
|
||||||
}
|
}
|
||||||
----------------------
|
----------------------
|
||||||
|
// NOTCONSOLE
|
||||||
|
|
||||||
The first version has to be recompiled every time the multiplier changes. The
|
The first version has to be recompiled every time the multiplier changes. The
|
||||||
second version is only compiled once.
|
second version is only compiled once.
|
||||||
|
@ -134,7 +137,7 @@ the following example creates a Groovy script called `calculate-score`:
|
||||||
|
|
||||||
[source,sh]
|
[source,sh]
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
cat "Math.log(_score * 2) + my_modifier" > config/scripts/calculate-score.painless
|
cat "Math.log(_score * 2) + params.my_modifier" > config/scripts/calculate_score.painless
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
This script can be used as follows:
|
This script can be used as follows:
|
||||||
|
@ -147,7 +150,7 @@ GET my_index/_search
|
||||||
"script": {
|
"script": {
|
||||||
"script": {
|
"script": {
|
||||||
"lang": "painless", <1>
|
"lang": "painless", <1>
|
||||||
"file": "calculate-score", <2>
|
"file": "calculate_score", <2>
|
||||||
"params": {
|
"params": {
|
||||||
"my_modifier": 2
|
"my_modifier": 2
|
||||||
}
|
}
|
||||||
|
@ -156,6 +159,8 @@ GET my_index/_search
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
// CONSOLE
|
||||||
|
// TEST[continued]
|
||||||
<1> The language of the script, which should correspond with the script file suffix.
|
<1> The language of the script, which should correspond with the script file suffix.
|
||||||
<2> The name of the script, which should be the name of the file.
|
<2> The name of the script, which should be the name of the file.
|
||||||
|
|
||||||
|
@ -206,16 +211,10 @@ delete and put requests.
|
||||||
|
|
||||||
==== Request Examples
|
==== Request Examples
|
||||||
|
|
||||||
The following are examples of stored script requests:
|
The following are examples of using a stored script that lives at
|
||||||
|
`/_scripts/{id}`.
|
||||||
|
|
||||||
[source,js]
|
First, create the script called `calculate-score` in the cluster state:
|
||||||
-----------------------------------
|
|
||||||
/_scripts/{id} <1>
|
|
||||||
-----------------------------------
|
|
||||||
<1> The `id` is a unique identifier for the stored script.
|
|
||||||
|
|
||||||
This example stores a Painless script called `calculate-score` in the cluster
|
|
||||||
state:
|
|
||||||
|
|
||||||
[source,js]
|
[source,js]
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Math.log(_score * 2) + params.my_modifier
|
Loading…
Reference in New Issue