Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Картирование ›Типы данных полей

Тип поля Boolean

Поля типа Boolean принимают значения JSON true и false, но также могут принимать строки, которые интерпретируются как true или false:

Ложные значения

false, "false", "" (пустая строка)

Истинные значения

true, "true"

Например:

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 
    }
  }
}

Индексирование документа с "true", которое интерпретируется как true.

Поиск документов с JSON-значением true.

Агрегации, такие как 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:

boost

Усиление запросов на уровне поля. Принимает число с плавающей точкой, по умолчанию 1.0.

doc_values

Должно ли поле храниться на диске в формате столбцов, чтобы его можно было использовать для сортировки, агрегаций или скриптов? Принимает true (по умолчанию) или false.

index

Должно ли поле быть доступным для поиска? Принимает true (по умолчанию) и false.

null_value

Принимает любое из вышеперечисленных значений true или false. Значение подставляется вместо явных null значений. По умолчанию null, что означает, что поле считается отсутствующим. Обратите внимание, что это нельзя установить, если используется параметр script.

on_script_error

Определяет, что делать, если скрипт, определённый параметром script, генерирует ошибку во время индексирования. Принимает fail (по умолчанию), что приведет к отклонению всего документа, и continue, которое зарегистрирует поле в метаданных документа _ignored и продолжит индексирование. Этот параметр может быть установлен только в случае, если установлен параметр script.

script

Если этот параметр установлен, то поле будет индексировать значения, сгенерированные этим скриптом, а не читать значения напрямую из источника. Если для этого поля установлено значение в документе-входных данных, то документ будет отклонен с ошибкой. Скрипты имеют тот же формат, что и их runtime эквиваленты.

store

Необходимо ли хранить значение поля отдельно от поля _source. Принимает true или false (по умолчанию).

meta

Метаданные о поле.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API