专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

ES实战十八、全文检索-ElasticSearch-映射-mapping创建

接第17节

3、Mapping

1)、字段类型

  • 核心类型
    • 字符串(string) textkeyword
    • 数字类型(Numeric) long, integer, short, byte, double, float, half_float, scaled_float
    • 日期类型(Date) date
    • 布尔类型(Boolean) boolean
    • 二进制类型(Binary) binary
  • 复合类型
    • 数组类型(Array) Array 支持不针对特定的数据类型
    • 对象类型(Object) object 用于单个JSON对象的对象
    • 嵌套类型(Nested) nested 用于JSON对象的数组
  • 地理类型(Geo)
    • 地理坐标(Geo-point) geo_point 纬度/经度坐标
    • 地理圆形(Geo-shape) geo_shape 用于多边形等复杂形状
  • 特定类型
    • IP 类型(IP) ip 用于描述 IPv4 和 IPv6 地址
    • 补全类型(Completion) completion 提供自动完成提示
    • 令牌计数类型(Token count) token_count 用来统计字符串中词条的数量
    • 附件类型(attachment) 参考 mapper-attachments 插件,支持将附件例如Microsoft Office格式,open document格式,ePub,HTML等索引为 attachment 数据类型。
    • 抽取类型(Percolator) 接受来自领域特定语言(query-dsl)的查询

更多字段类型,请参考 ES 官方文档:参考文档-mapping-types

2)、映射

Mapping (映射) Mapping 是用来定义一个文档(document),以及它所包含的属性(field)是如何存储和索引的。比如,使用mapping来定义:

  • 哪些字符串属性应该被看做全文本属性(full text fields)
  • 哪些属性包含数字,日期或者地理位置
  • 文档中的所有属性是否都能被索引(_all 配置)
  • 日期的格式
  • 自定义映射规则来执行动态添加属性
  • 查看 mapping 信息: GET bank/_mapping

    75_1.png

  • 修改 mapping 信息:

    • 创建索引
PUT /my-index
{
  "mappings": {//映射规则
    "properties": {
      "age":    { "type": "integer" },  
      "email":  { "type": "keyword"  },//keyword不会进行全文检索 
      "name":   { "type": "text"  }//text保存的时候进行分词,搜索的时候进行全文检索   
    }
  }
}

75_2.png

ES 自动猜测的映射类型:

JSON type 域 type
布尔型:true、false boolean
整数:123 long
浮点数:1.23 double
字符串,有效日期 2020-02-02 date
字符串,foo bar string
对象,也称为哈希,存储对象类型 object

参考文档-mapping


参考:

Elasticsearch Reference

elastic

全文搜索引擎 Elasticsearch 入门教程

文章永久链接:https://tech.souyunku.com/37503

未经允许不得转载:搜云库技术团队 » ES实战十八、全文检索-ElasticSearch-映射-mapping创建

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们