elasticsearch中mapping中的可设置的属性

mappings : 在index(库)下创建时使用,下面可以有多个mapping 以下数据结构主要针对每个mapping进行说明:

一级属性二级属性三级属性说明
dynamic  新增字段自动模式;true:表示自动识别新字段并创建索引,false:不自动索引新字段,strict:遇到未知字段,抛异常,不能存入
_timestamp  是否使用时间戳,ES会自动加时间戳,使用的话请百度
properties  属性列表(类似数据库多个字段定义)
 {字段名} 某个字段的定义
  type数据类型,参见数据类型说明
  index映射选型,参见映射选型说明
  doc_values布尔值, 对not_analyzed字段,默认都是开启,分词字段不能使用,对排序和聚合能提升较大性能,节约内存
  format如果数据类型为日期格式,传入值得时候是字符串,ES需要一个格式进行识别,如:yyyy-MM-dd HH:mm: ss
  analyzer分词器,如ik,ansj(中文分词)
  boost浮点型,字段级别的分数加权(权重)
  ignore_above超过多少字符,就不处理,分词性能损耗较大,对字符串较长的可不分词
  null_value设置一些缺失字段的初始化值,只有string可以使用,分词字段的null值也会被分词
  store是否单独设置此字段的是否存储而从_source字段中分离,默认是false,只能搜索,不能获取值
  search_analyzer设置搜索时的分词器,默认跟ananlyzer是一致的,比如index时用standard+ngram,搜索时用standard用来完成自动提示功能
  其它similarity,term_vector,norms,include_in_all,index_options,fielddata,ignore_malformed,precision_step

 

一个典型的mapping对象的属性有:

{
    "mappings": {
        "my_type": {
        //true:表示自动识别新字段并创建索引,false:不自动索引新字段,strict:遇到未知字段,抛异常,不能存入
            "dynamic":      "strict", 
            
              //动态模板
             "dynamic_templates": [
                    { "stash_template": {
                      "path_match":  "stash.*",
                      "mapping": {
                        "type":           "string",
                        "index":       "not_analyzed"
                      }
                    }}
                  ],
            //属性列表
            "properties": {
                //一个strign类型的字段
                "title":  { "type": "string"},
                
                "stash":  {
                    "type":     "object",
                    "dynamic":  true 
                }
            }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值