ElasticSearch Mapping配置项详解

加粗 部分为经常用到的

  • enabled

    • 作用:仅存储、不做搜索和聚合分析
    • 值:false|true
  • index

    • 作用:是否构建倒排索引(即是否分词,设置false,字段将不会被索引)
    • 值:false|true
  • index_option

    • 作用:存储倒排索引的哪些信息
    • 值:docs:索引文档号|freqs:文档号+词频|positions:文档号+词频+位置,通常用来距离查询|offsets:文档号+词频+位置+偏移量,通常被使用在高亮字段
    • 分词字段默认是positions,其他默认时docs
  • norms

    • 作用:是否归一化相关参数,如果字段仅用于过滤和聚合分析、可关闭
      分词字段默认配置,不分词字段:默认{"enable": false},存储长度因子和索引时boost,建议对需要参加评分字段使用,会额外增加内存消耗
    • 值:"enable": true|false, "loading": "lazy"
  • doc_value

    • 作用:是否开启doc_value,用户聚合和排序分析
      对not_analyzed字段,默认都是开启,分词字段不能使用,对排序和聚合能提升较大性能,节约内存
    • 值:true(缺省)| false
  • fielddata

    • 作用:是否为text类型启动fielddata,实现排序和聚合分析
      针对分词字段,参与排序或聚合时能提高性能,不分词字段统一建议使用doc_value
    • 值:disabled|enable
  • store

    • 作用:是否单独设置此字段的是否存储而从_source字段中分离,只能搜索,不能获取值
    • 值:false|true
  • dynamic

    • 作用:控制mapping的自动更新
    • 值:true|false|strict
  • analyzer

    • 作用:指定分词器,默认分词器为standard analyzer
    • 值:ik_max_word|ik_smart(这两种是常见的中文分词器,关于分词器的见ElasticSearch分词器)
  • search_analyzer

    • 作用:设置搜索时的分词器,默认跟analyzer是一致的
    • 值:同analyzer
  • boost

    • 作用:字段级别的分数加权,默认值是1.0
    • 值:具体值
  • ignore_above

    • 作用:超过100个字符的文本,将会被忽略,不被索引
    • 值:具体值(100)
  • fields

    • 作用:可以对一个字段提供多种索引模式,同一个字段的值,一个分词,一个不分词
    • 值:{"raw": {"type": "string", "index": "not_analyzed"}}
  • similarity

    • 作用:默认时TF/IDF算法,指定一个字段评分策略,仅仅对字符串型和分词类型有效
    • 值:BM25|TF/IDF

ElasticSearch Mapping配置项详解

上一篇:Hive数仓建表该选用ORC还是Parquet,压缩选LZO还是Snappy?


下一篇:Android开发面试被问Binder还不会,收藏这一篇就够了(附图解)