Boolean field type
editBoolean field type
editBoolean fields accept JSON true
and false
values, but can also accept
strings which are interpreted as either true or false:
False values |
|
True values |
|
For example:
PUT my-index-000001 { "mappings": { "properties": { "is_published": { "type": "boolean" } } } } POST my-index-000001/_doc/1?refresh { "is_published": "true" } GET my-index-000001/_search { "query": { "term": { "is_published": true } } }
Indexing a document with |
|
Searching for documents with a JSON |
Aggregations like the terms
aggregation use 1
and 0
for the key
, and the strings "true"
and
"false"
for the key_as_string
. Boolean fields when used in scripts,
return true
and false
:
POST my-index-000001/_doc/1?refresh { "is_published": true } POST my-index-000001/_doc/2?refresh { "is_published": false } GET my-index-000001/_search { "aggs": { "publish_state": { "terms": { "field": "is_published" } } }, "sort": [ "is_published" ], "fields": [ {"field": "weight"} ], "runtime_mappings": { "weight": { "type": "long", "script": "emit(doc['is_published'].value ? 10 : 0)" } } }
Parameters for boolean
fields
editThe following parameters are accepted by boolean
fields:
Should the field be stored on disk in a column-stride fashion, so that it
can later be used for sorting, aggregations, or scripting? Accepts |
|
Should the field be quickly searchable? Accepts |
|
Accepts any of the true or false values listed above. The value is
substituted for any explicit |
|
|
Defines what to do if the script defined by the |
|
If this parameter is set, then the field will index values generated by this script, rather than reading the values directly from the source. If a value is set for this field on the input document, then the document will be rejected with an error. Scripts are in the same format as their runtime equivalent. |
Whether the field value should be stored and retrievable separately from
the |
|
Metadata about the field. |
Synthetic _source
[preview]
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
editboolean
fields support synthetic _source
in their
default configuration. Synthetic _source
cannot be used together with
copy_to
or with doc_values
disabled.
Synthetic source always sorts boolean
fields. For example:
PUT idx { "mappings": { "_source": { "mode": "synthetic" }, "properties": { "bool": { "type": "boolean" } } } } PUT idx/_doc/1 { "bool": [true, false, true, false] }
Will become:
{ "bool": [false, false, true, true] }