Update search-template.asciidoc

Clarified using the conditional clause template example as a string
This commit is contained in:
Clinton Gormley 2014-10-31 15:27:57 +01:00
parent a239935f90
commit e56d85439c
1 changed files with 15 additions and 2 deletions

View File

@ -163,6 +163,7 @@ We could write the query as:
[source,js]
------------------------------------------
{
"query": {
"filtered": {
"query": {
"match": {
@ -185,6 +186,7 @@ We could write the query as:
{{/line_no}} <2>
}
}
}
}
------------------------------------------
<1> Fill in the value of param `text`
@ -196,11 +198,22 @@ We could write the query as:
<6> Include the `lte` clause only if `line_no.end` is specified
<7> Fill in the value of param `line_no.end`
[NOTE]
==================================
As written above, this template is not valid JSON because it includes the
_section_ markers like `{{#line_no}}`. For this reason, the template
can only be written as a string.
_section_ markers like `{{#line_no}}`. For this reason, the template should
either be stored in a file (see <<pre-registered-templates>>) or, when used
via the REST API, should be written as a string:
[source,json]
--------------------
"template": "{\"query\":{\"filtered\":{\"query\":{\"match\":{\"line\":\"{{text}}\"}},\"filter\":{{{#line_no}}\"range\":{\"line_no\":{{{#start}}\"gte\":\"{{start}}\"{{#end}},{{/end}}{{/start}}{{#end}}\"lte\":\"{{end}}\"{{/end}}}}{{/line_no}}}}}}"
--------------------
==================================
[float]
[[pre-registered-templates]]
===== Pre-registered template
You can register search templates by storing it in the `config/scripts` directory, in a file using the `.mustache` extension.