Тип поля Boolean
Поля типа Boolean принимают значения JSON true и false, но также могут принимать строки, которые интерпретируются как true или false:
| Ложные значения | |
| Истинные значения | |
Например:
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
}
}
} | Индексирование документа с | |
| Поиск документов с JSON-значением |
Агрегации, такие как terms агрегация, используют значения 1 и 0 для key и строки "true" и "false" для key_as_string. Поля типа Boolean при использовании в скриптах возвращают true и 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)"
}
}
} Параметры для полей типа boolean
Следующие параметры принимаются полями типа boolean:
| Усиление запросов на уровне поля. Принимает число с плавающей точкой, по умолчанию | |
| Должно ли поле храниться на диске в формате столбцов, чтобы его можно было использовать для сортировки, агрегаций или скриптов? Принимает | |
| Должно ли поле быть доступным для поиска? Принимает | |
| Принимает любое из вышеперечисленных значений true или false. Значение подставляется вместо явных | |
| | Определяет, что делать, если скрипт, определённый параметром |
| | Если этот параметр установлен, то поле будет индексировать значения, сгенерированные этим скриптом, а не читать значения напрямую из источника. Если для этого поля установлено значение в документе-входных данных, то документ будет отклонен с ошибкой. Скрипты имеют тот же формат, что и их runtime эквиваленты. |
| Необходимо ли хранить значение поля отдельно от поля | |
| Метаданные о поле. |
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/boolean.html