大数据培训技术ELK数据类型

数据类型

  • 核心数据类型

字符串型:text、keyword

数值型:long、integer、short、byte、double、float、half_float、scaled_float

日期类型:date

布尔类型:boolean

二进制类型:binary

范围类型:integer_range、float_range、long_range、double_range、date_range

  • 复杂数据类型

数组类型:array

对象类型:object

嵌套类型:nested object

  • 地理位置数据类型

geo_point(点)、geo_shape(形状)

  • 专用类型

记录IP地址ip

实现自动补全completion

记录分词数:token_count

记录字符串hash值母乳murmur3

  • 多字段特性multi-fields

允许对同一个字段采用不同的配置,比如分词,例如对人名实现拼音搜索,只需要在人名中新增一个子字段为pinyin即可

1、创建mapping

大数据培训技术ELK数据类型_第1张图片

2、创建文档

PUT my_index1/doc/1

{

  “username”:”haha heihei”

}

3、查询

GET my_index1/_search

{

  “query”: {

    “match”: {

      “username.pinyin”: “haha”

    }

  }

}

4、Dynamic Mapping

es可以自动识别文档字段类型,从而降低用户使用成本

PUT /test_index/doc/1

{

  “username”:”alfred”,

  “age”:1

}

大数据培训技术ELK数据类型_第2张图片

age自动识别为long类型,username识别为text类型

PUT test_index/doc/1

{

  “username”:”samualz”,

  “age”:14,

  “birth”:”1991-12-15″,

  “year”:18,

  “tags”:[“boy”,”fashion”],

  “money”:”100.1″

}

{

  “test_index”: {

    “mappings”: {

      “doc”: {

        “properties”: {

          “age”: {

            “type”: “long”

          },

          “birth”: {

            “type”: “date”

          },

          “money”: {

            “type”: “text”,

            “fields”: {

              “keyword”: {

                “type”: “keyword”,

                “ignore_above”: 256

              }

            }

          },

          “tags”: {

            “type”: “text”,

            “fields”: {

              “keyword”: {

                “type”: “keyword”,

                “ignore_above”: 256

              }

            }

          },

          “username”: {

            “type”: “text”,

            “fields”: {

              “keyword”: {

                “type”: “keyword”,

                “ignore_above”: 256

              }

            }

          },

          “year”: {

            “type”: “long”

          }

        }

      }

    }

  }

}

日期的自动识别可以自行配置日期格式,以满足各种需求

1、自定义日期识别格式

PUT my_index

{

  “mappings”:{

    “doc”:{

      “dynamic_date_formats”: [“yyyy-MM-dd”,”yyyy/MM/dd”]

    }

  }

}

2、关闭日期自动识别

PUT my_index

{

  “mappings”: {

    “doc”: {

      “date_detection”: false

    }

  }

}

字符串是数字时,默认不会自动识别为整形,因为字符串中出现数字时完全合理的

Numeric_datection可以开启字符串中数字的自动识别

PUT my_index

{

  “mappings”:{

    “doc”:{

      “numeric_datection”: true

    }

  }

}

想要了解跟多关于大数据培训课程内容欢迎关注尚硅谷大数据培训,尚硅谷除了这些技术文章外还有免费的高质量大数据培训课程视频供广大学员下载学习

你可能感兴趣的:(elk,java,开发语言)