zoukankan      html  css  js  c++  java
  • ElasticSearch 映射类型及数据类型区分

    本文为博主原创,未经允许不得转载:

      

    1.ES 中的映射可以分为动态映射和静态映射

      动态映射:在关系数据库中,需要事先创建数据库,然后在该数据库下创建数据表,并创建表字段、类型、长度、主键等,最后才能基于表插入数据。而Elasticsearch中不需要定义Mapping映射(即关系型数据库的表、字段等),在文档写入Elasticsearch时,会根据文档字段自动识别类型,这种机制称之为动态映射。

          

        静态映射: 在Elasticsearch中也可以事先定义好映射,包含文档的各字段类型、分词器等,这种方式称之为静态映射

    动态映射语法:

      1. 创建索引:

    PUT /es_db

      2. 创建文档

    PUT /es_db/_doc/1
    {
      "name": "Jack",
      "sex": 1,
      "age": 25,
      "book": "java入门至精通",
      "address": "大西北"
    }

      3. 获取文档映射:

    GET /es_db/_mapping

                                                   

      4. 删除索引

    DELETE /es_db

    静态映射

      1. 创建索引

    PUT /es_db

      2. 设置文档映射

     PUT /es_db
    {
      "mappings": {
        "properties": {
          "name": {"type": "keyword","index": true,"store": true},
          "sex": {"type": "integer","index": true,"store": true},
          "age": {"type": "integer","index": true,"store": true},
          "book": {"type": "text","index": true,"store": true},
          "address": {"type": "text", "index": true, "store": true}
        }
      }
    } 

      设置book 字段的分词器为 ik 中文分词器:

    "book": {"type": "text","index": true,"store": true,"analyzer":"ik_smart","sea rch_analyzer":"ik_smart"},

      3. 根据静态映射创建文档

    PUT /es_db/_doc/1
    {
      "name": "Jack",
      "sex": 1,
      "age": 25,
      "book": "elasticSearch入门至精通",
      "address": "我的大西北"
    }
      

      4.  获取文档映射

    GET /es_db/_mapping

      5. 查看 索引 创建信息

    GET /es_db/_settings

    数据类型:

      text:该类型被用来索引长文本,在创建索引前会将这些文本进行分词,转化为的组合,建立索引;允许es来检索这些词,text类型不能用来排序和聚合。

      keyword:该类型不能分词,可以被用来检索过滤、排序和聚合,keyword类型不可用text进行分词模糊检索。
      数值型:long、integer、short、byte、double、float
      日期型:date
      布尔型:boolean
  • 相关阅读:
    【转】shell脚本常用命令
    【转】应该知道的Linux技巧
    背景颜色变成豆沙绿色~
    缓冲区溢出攻击
    恶意代码简介
    atitit.  web组件化原理与设计
    Atitit.vod 视频播放系统 影吧系统的架构图 架构体系 解决方案
    Atitit.跨语言异常转换机制 java c# php到js的异常转换
    atitit.React   优缺点 相比angular react是最靠谱的web ui组件化方案了
    Atiti。流量提升软件设计大纲规划 v1 q45
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/15395663.html
Copyright © 2011-2022 走看看