文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Elasticsearch映射字段数据类型及管理的方法

2023-06-30 06:02

关注

本篇内容主要讲解“Elasticsearch映射字段数据类型及管理的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Elasticsearch映射字段数据类型及管理的方法”吧!

Elasticsearch映射管理

在Elasticsearch 6.0.0或更高版本中创建的索引只包含一个mapping type。 在5.x中使用multiple mapping types创建的索引将继续像以前一样在Elasticsearch 6.x中运行。 Mapping types将在Elasticsearch 7.0.0中完全删除

一 映射介绍

在创建索引的时候,可以预先定义字段的类型及相关属性

Es会根据Json数据源的基础类型,猜测你想要映射的字段,将输入的数据转变成可以搜索的索引项。

Mapping是我们自己定义的字段数据类型,同时告诉es如何索引数据及是否可以被搜索

作用:会让索引建立的更加细致和完善

1.1 字段数据类型

string类型:text,keyword

数字类型:long,integer,short,byte,double,float

日期类型:data

布尔类型:boolean

binary类型:binary

复杂类型:object(实体,对象),nested(列表)

geo类型:geo-point,geo-shape(地理位置)

专业类型:ip,competion(搜索建议)

1.2 映射参数

属性描述适合类型
store值为yes表示存储,no表示不存储,默认为noall
indexyes表示分析,no表示不分析,默认为truetext
null_value如果字段为空,可以设置一个默认值,比如"NA"(传过来为空,不能搜索,na可以搜索)all
analyzer可以设置索引和搜索时用的分析器,默认使用的是standard分析器,还可以使用whitespace,simple。都是英文分析器all
include_in_all默认es为每个文档定义一个特殊域_all,它的作用是让每个字段都被搜索到,如果想让某个字段不被搜索到,可以设置为falseall
format时间格式字符串模式date

二 创建索引

text类型会取出词做倒排索引,keyword不会被分词,原样存储,原样匹配

mapping类型一旦确定,以后就不能修改了

#6.x的版本没问题PUT books{  "mappings": {    "book":{      "properties":{        "title":{          "type":"text",         "analyzer": "ik_max_word"        },        "price":{          "type":"integer"        },        "addr":{          "type":"keyword"        },        "company":{          "properties":{            "name":{"type":"text"},            "company_addr":{"type":"text"},            "employee_count":{"type":"integer"}          }        },        "publish_date":{"type":"date","format":"yyy-MM-dd"}      }    }  }}

x版本以后

PUT books{  "mappings": {    "properties":{      "title":{        "type":"text",        "analyzer": "ik_max_word"      },      "price":{        "type":"integer"      },      "addr":{        "type":"keyword"      },      "company":{        "properties":{          "name":{"type":"text"},          "company_addr":{"type":"text"},          "employee_count":{"type":"integer"}        }      },      "publish_date":{"type":"date","format":"yyy-MM-dd"}    }  }}

插入数据测试:

PUT books/_doc/1{  "title":"大头儿子小偷爸爸",  "price":100,    "addr":"北京天安门",  "company":{    "name":"我爱北京天安门",    "company_addr":"我的家在东北松花江傻姑娘",    "employee_count":10  },  "publish_date":"2019-08-19"}#测试数据2PUT books/_doc/2{  "title":"白雪公主和十个小矮人",  "price":"99", #写字符串会自动转换  "addr":"黑暗森里",  "company":{    "name":"我的家乡在上海",    "company_addr":"朋友一生一起走",    "employee_count":10  },  "publish_date":"2018-05-19"}

三 查看索引

#查看books索引的mappingGET books/_mapping#获取所有的mappingGET _all/_mapping

到此,相信大家对“Elasticsearch映射字段数据类型及管理的方法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯