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-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)"
}
}
}
The 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. |