快速入门ElasticSearch(上)( 四 )
其实你还可以发现这些方框有的边框颜色粗 , 有的浅 , 那是因为粗的是主分片 , 浅的是分片的备份 。 其实上面这种是非结构化的创建 , 其实还有结构化的创建 。 那么如何确定某个索引是结构化还是非结构化的呢?可以借助于Head插件来完成 , 点击索引的信息按钮 , 然后点击索引信息按钮 , 如下所示:
文章插图
然后会弹出一个页面 , 注意这里面的"mappings"字段 , 它是结构化的关键词 , 如果后面的内容是空的 , 则表示它是非结构化的索引 。 也就是说上面我们创建的movie其实是一个非结构化的索引:
文章插图
那么问题来了 , 如何创建结构化的索引呢?同样可以借助于head插件 , 点击右上角的“复合查询”按钮 , 然后选择POST方式:
文章插图
并修改接口为movie/action/_mappings , 然后在里面新增如下代码:
{"action": {"properties": {"title": {"type": "text"}}}
文章插图
之后查看一下首页 , 可以发现之前的“mappings”字段里面已经显示了刚才添加的信息:
文章插图
尽管使用Head插件可以结构化创建 , 但是对于JOSN的书写并不太友好 , 此时我们可以使用Postman这一工具来进行创建 , 但是需要开发者自己书写一些基础配置信息 , 如"settings"等 , 之后才能编写“mappings”关键字等信息 , 如下所示:
{ "settings": {"number_of_shards": 3,"number_of_replicas": 1 }, "mappings": {"novel": {"properties": {"name": {"type": "text"},"isbn": {"type": "keyword"},"price": {"type": "integer"},"published": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}} }}
之后点击提交即可 , 结果如下所示 , 注意使用PUT方法用于新增数据(ES6.x系列要求一个index只能存储一种type):
文章插图
之后刷新首页 , 可以看到右侧多出了一个book的索引 , 然后查看该索引的信息可以发现该索引中的"mappings"关键字中的信息就是之前我们通过Postman创建的:
文章插图
数据插入在学完了如何创建索引之后 , 接下来开始学习如何插入数据 , 在ElasticSearch中 , 插入分为两种:“指定文档id插入”和“自动产生文档id插入” 。 这里的文档id它是一个唯一索引值 , 指向文档数据 。 接下来学习如何使用Postman工具来插入数据 , 选择PUT方法 , 并输入接口为/book/novel/1 , 请注意这里的book为索引 , novel为类型 , 1是文档的id , 这个文档id用于唯一标识文档 , 然后书写如下JSON信息:
文章插图
然后点击确定 , 刷新首页并点击上方的数据预览 , 可以看到我们之前的数据就已经成功插入了:
文章插图
同时可以看到对于book这一索引来说 , 其docs的数量为1 , 它表示book索引下所有的文档的数量:
- 苹果两款新iPad齐曝光:性能提高、入门款更轻薄、售价便宜
- “千店同开”引质量担忧,小米回应
- RHEL 9提升了x86_64处理器的入门要求
- 企业|技术快速迭代倒逼知识产权“贴身”服务,上海首家AI商标品牌指导站入驻徐汇西岸
- 三星Galaxy A52 5G通过3C认证 支持最高15W快速充电
- 入门HiFi享好声,这几款耳机绝对值得入手
- 大健康速递丨腾讯上线疫苗接种服务区;华大基因研发出快速鉴定盒
- DIY从入门到放弃:电源挑贵的买就靠谱吗?
- 小米联合京东及爱回收推全新换机服务 帮你快速换新机
- 西安奕斯伟硅产业基地项目建设刷新我国建设大硅片制造项目的最快速度