Boolean 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 { "mappings": { "properties": { "is_published": { "type": "boolean" } } } } POST my_index/_doc/1 { "is_published": "true" } GET my_index/_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 1
and 0
:
POST my_index/_doc/1 { "is_published": true } POST my_index/_doc/2 { "is_published": false } GET my_index/_search { "aggs": { "publish_state": { "terms": { "field": "is_published" } } }, "script_fields": { "is_published": { "script": { "lang": "painless", "source": "doc['is_published'].value" } } } }
The following parameters are accepted by boolean
fields:
Mapping field-level query time boosting. Accepts a floating point number, defaults
to | |
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 searchable? Accepts | |
Accepts any of the true or false values listed above. The value is
substituted for any explicit | |
Whether the field value should be stored and retrievable separately from
the |