资讯专栏INFORMATION COLUMN

elasticsearch之mapping配置

Jackwoo / 1952人阅读

摘要:序本文主要记录的的一些配置项定义或者属性解说可选值为默认和,如果是字段是字符串类型的,则可以是可选值为或,指定该字段的原始值是否被写入索引中,默认为,即结果中不能返回该字段。指定该字段是否应该包括在字段里头,默认情况下都会包含。

本文主要记录es的schema mapping的一些配置项

mapping定义
{
  "mappings": {
    "post": {
      "properties": {                
        "id": {"type":"long", "store":"yes", "precision_step":"8" },
        "name": {"type":"string", "store":"yes", "index":"analyzed" },
        "published": {"type":"date", "store":"yes", "precision_step":"8" },
        "contents": {"type":"string", "store":"no", "index":"analyzed" }             
      }
    }
  }
}

或者

{
  "book" : {
    "_index" : { 
      "enabled" : true 
    },
    "_id" : {
      "index": "not_analyzed", 
      "store" : "yes"
    },
    "properties" : {
      "author" : {
        "type" : "string"
      },
      "characters" : {
        "type" : "string"
      },
      "copies" : {
        "type" : "long",
        "ignore_malformed" : false
      },
      "otitle" : {
        "type" : "string"
      },
      "tags" : {
        "type" : "string"
      },
      "title" : {
        "type" : "string",
        "fields":{
          "sort":{"type":"string","index":"not_analyzed"}
        }
      },
      "year" : {
        "type" : "long",
        "ignore_malformed" : false,
        "index" : "analyzed"
      },
      "available" : {
        "type" : "boolean"
      }
    }
  }
}
属性解说

index
可选值为analyzed(默认)和no,如果是字段是字符串类型的,则可以是not_analyzed.

store
可选值为yes或no,指定该字段的原始值是否被写入索引中,默认为no,即结果中不能返回该字段。

boost
默认为1,定义了文档中该字段的重要性,越高越重要

null_value
如果一个字段为null值(空数组或者数组都是null值)的话不会被索引及搜索到,null_value参数可以显示替代null values为指定值,这样使得字段可以被搜索到。

include_in_all
指定该字段是否应该包括在_all字段里头,默认情况下都会包含。

mapping操作 新建mapping
curl -s -XPOST "192.168.99.100:9200/library" --data-binary @mapping.json
更新mapping
curl -XPOST "192.168.99.100:9200/library/book/_mapping" -d"
{
    "book": {
        "properties": {
            "description": {
                "type": "string", 
                "store": "yes", 
                "index": "analyzed"
            }
        }
    }
}
"
查看mapping
curl -XGET "192.168.99.100:9200/library/book/_mapping?pretty"

返回

{
  "library" : {
    "mappings" : {
      "book" : {
        "properties" : {
          "author" : {
            "type" : "string"
          },
          "available" : {
            "type" : "boolean"
          },
          "characters" : {
            "type" : "string"
          },
          "copies" : {
            "type" : "long"
          },
          "description" : {
            "type" : "string",
            "store" : true
          },
          "otitle" : {
            "type" : "string"
          },
          "section" : {
            "type" : "long"
          },
          "tags" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          },
          "year" : {
            "type" : "long"
          }
        }
      }
    }
  }
}

可以修改的项:

增加新的类型定义

增加新的字段

增加新的分析器

不允许修改的项:

更改字段类型(比如文本改为数字)

更改存储为不存储,反之亦然

更改索引属性的值

更改已索引文档的分析器

注意的是新增字段或更改分析器之后,需要再次对所有文档进行索引重建

字段的数据类型 简单类型

string(指定分词器)

date(默认使用UTC保持,也可以使用format指定格式)

数值类型(byte,short,integer,long,float,double)

boolean

binary(存储在索引中的二进制数据的base64表示,比如图像,只存储不索引)

ip(以数字形式简化IPV4地址的使用,可以被索引、排序并使用IP值做范围查询).

有层级结构的类型

比如object 或者 nested.

特殊类型

比如geo_point, geo_shape, or completion.

参考

elasticsearch-guide

elasticsearch-guide-mapping

null-value

mapping-params

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/34067.html

相关文章

  • centos7上elastic search安装填坑记

    摘要:切换到用户,然后错误先要切换到用户然后可以执行以下命令,设置,但是重启后又会恢复为原值。下面的例子是新建一个名叫的。 showImg(https://segmentfault.com/img/remote/1460000015723676); 注: 本文首发于 My 公众号 CodeSheep ,可 长按 或 扫描 下面的 小心心 来订阅 ↓ ↓ ↓ showImg(https://...

    Ilikewhite 评论0 收藏0
  • 自制一个 elasticsearch-spring-boot-starter

    摘要:概述在企业里落地的场景越来越多了,但是大家在项目里使用的姿势也是千奇百怪,这次正好自己需要使用,所以干脆就封装一个以供复用好了。如果不知道该如何制作,可以参考文章如何自制一个并推送到远端公服,下面就来简述一下自制的该如何使用。 showImg(https://segmentfault.com/img/remote/1460000018332789); 概 述 Elasticsearc...

    weizx 评论0 收藏0
  • Elasticsearch 索引的映射配置详解

    摘要:本文就从的索引映射如何配置开始讲起。信息格式的配置支持为每个字段指定信息格式,以满足通过改变字段被索引的方式来提高性能的条件。 showImg(https://segmentfault.com/img/remote/1460000015981864?w=1280&h=719); 概述 Elasticsearch 与传统的 SQL数据库的一个明显的不同点是,Elasticsearch ...

    voidking 评论0 收藏0
  • log4j2+ELK

    摘要:问题初衷最近有个项目需求,需要统计下用户的使用情况,比如什么时候登录的,查询了什么内容等信息。缺点扩展能力需要靠自己设计,统计展示画面需要自己做。可轻松应对分布式,数据量大的情况。通过,如下修改,在重启后又会恢复原值。 问题初衷 最近有个项目需求,需要统计下用户app的使用情况,比如:什么时候登录的,查询了什么内容等信息。 解决方案 1.定义用户轨迹模型,每步操作都写到数据库中,然后在...

    Sunxb 评论0 收藏0
  • Elasticsearch 压测方案 esrally 简介

    摘要:我们来看下文件该文件主要包含下面几个部分和的描述文字一个地址,指明测试数据的下载根路径,与下方中的结合,可得到数据的下载地址。的配置位于目录默认是中下面。上面的命令便是执行一次压测,并指定使用的,运行该中的的,指定的为的实例。 由于 Elasticsearch(后文简称es) 的简单易用及其在大数据处理方面的良好性能,越来越多的公司选用 es 作为自己的业务解决方案。然而在引入新的解决...

    rainyang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<