ElasticSearch数据类型Boolean介绍

2022-07-12 14:23:38 浏览数 (1)

本文主要介绍一下关于ES的boolean类型,希望对大家理解和使用ES有帮助。

Boolean Field 类型介绍:

Boolea n Field是接受JSON true或者false的值,也接受可以被转为true或者false的字符串

  • false值:false,"false",""
  • true值:true,"true"

例子:

代码语言:javascript复制
curl -X PUT "localhost:9200/my-index-000001?pretty" -H 'Content-Type: application/json' -d'
{
  "mappings": {
    "properties": {
      "is_published": {
        "type": "boolean"
      }
    }
  }
}
'
代码语言:javascript复制
curl -X POST "localhost:9200/my-index-000001/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
  "is_published": "true" 
}
'
代码语言:javascript复制
curl -X GET "localhost:9200/my-index-000001/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "query": {
    "term": {
      "is_published": true 
    }
  }
}
'

通过上面的例子可以看出,创建了一个名为my-index-000001的文档,映射关系中有一个typebooleanfieldis_published

下面是一个term查询,匹配is_publishedtrue的文档。

代码语言:javascript复制
curl -X POST "localhost:9200/my-index-000001/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
  "is_published": true
}
'
代码语言:javascript复制
curl -X POST "localhost:9200/my-index-000001/_doc/2?pretty" -H 'Content-Type: application/json' -d'
{
  "is_published": false
}
'
代码语言:javascript复制
curl -X GET "localhost:9200/my-index-000001/_search?pretty" -H 'Content-Type: application/json' -d'
{
  "aggs": {
    "publish_state": {
      "terms": {
        "field": "is_published"
      }
    }
  },
  "script_fields": {
    "is_published": {
      "script": {
        "lang": "painless",
        "source": "doc[u0027is_publishedu0027].value"
      }
    }
  }
}
'
boolean Field的参数列表

下面是所列的参数列表是boolean field所接受的:

  • boost
    • 映射字段级查询时间的增加。接受浮点数,默认为1.0。
  • doc_values
    • 该字段是否应该以跨步的方式存储在磁盘上,以便以后可以用于排序,聚合或编写脚本?接受true(默认)或false。
  • index
    • 该field是否应该被索引搜索,接受的值为true或者false
  • null_value
    • 可以接受该field为null值,接受的参数为true或者false。
  • store
    • 是否应与_source字段分开存储和检索字段值。接受的值为true或者false
  • meta
    • 有关该字段的元数据

0 人点赞