ElasticSearch(三):ES单机版本基本操作之删除,修改,插入
1. 创建索引
1.1 直接创建索引
可以直接使用head插件创建索引,指定分片数和备份数即可。如下图:



1.2 创建结构化索引
上图创建的索引,点开索引信息,mapping是空的,表示该索引的字段并没有指定,我们可以在创建索引的时候直接指定其字段名来创建。
使用POSTMAN进行创建(任何工具都行,习惯)
请求路径:localhost:9200/book --》ES服务的ip:端口/要创建的索引名,请求方法:PUT
请求体:
{
"settings":{
"number_of_shards":5, //分片数
"number_of_replicas":1 //备份数
},
//映射文件
"mappings":{
//类型名
"novel":{
//文档的所有字段以及类型
"properties":{
"name":{
"type":"text"
},
"author":{
"type":"keyword"
},
"word_count":{
"type":"integer"
},
"publish_date":{
"type":"date",
"format":"yyyy-MM-dd HH:mm:ss || yyyy-MM-dd" //日期格式化允许的类型
}
}
}
}
}
插入结果如下:表示索引创建成功
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "book"
}
关于结构化索引和非结构化索引的区别:
结构化索引,类似MySQL,我们会对索引结构做预定义,包括字段名,字段类型等;那么,非结构化索引,就类似Mongo,索引结构未知,根据具体的数据来update索引的mapping。那么如何选择两种索引呢,还是跟具体的使用场景有关,结构化相比非结构化,更易优化,性能好些,非结构化相较灵活,只是频繁update索引mapping会有一定的性能损耗。
重点:需要特别特别注意的是:如果你的索引后期要修改,那么你只能重建一个你要修改成的索引,然后将数据复制到新的索引中,代码如下(亲测可用)
http://localhost:9200/_reindex
{
"source": {
"index": "old_index"
},
"dest": {
"index": "new_index"
}
}
2. 插入数据
2.1 指定id插入
需要注意的是:指定id插入,使用的方法时PUT,路径是:服务ip:端口/索引名/类型名/id,过程及结果如下


2.2 不指定id插入
需要特别注意的是:当不使用id插入的时候,请求方法必须是:POST,并且路径不能指定id,插入成功后会返回id。过程以及结果如下


关于插入数据需要注意的是:
当你创建的索引是非结构化的索引的时候,你可以随意插入你想要的字段作为属性。并且你每次插入的字段值可以是不一致的,索引会自动更新mapping,来适应数据。但是每次插入会耗费性能来做这些事情。
当你创建的索引是结构化的索引的时候,你如果插入的数据不符合你创建的mapping,那么也会自动更新mapping来适应你添加的数据,不会出现添加不上数据的情况。但是不建议这么做。
3. 修改数据
3.1 直接修改doc数据
需要注意的是: 方法时POST,路径为:ES服务ip:端口/要修改的数据的id/_update,并且,需要再修改的json中,使用doc进行修改,如下图:


3.2 使用内置脚本修改(可以对数据进行计算)


需要注意的是:方法时POST,路径跟上面一致,但是请求体的时候,使用的是script,并且里面的字段是固定的(应该是),inline字段的值时可以进行计算的。
3.3 使用内置脚本并制定参数进行修改


需要注意的是:inline中的参数必须和params中的参数对应才可!
4 删除数据
直接使用delete请求,指定索引,类型,id即可删除。


查询,是ElasticSearch的重中之重,所以会单独更新一篇进行详细解释。
ElasticSearch(三):ES单机版本基本操作之删除,修改,插入的更多相关文章
- (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
上午写了下单向循环链表的程序,今天下午我把双向链表的程序写完了.其实双向链表和单向链表也是有很多相似的地方的,听名字可以猜到,每个节点都包含两个指针,一个指针指向上一个节点,一个指针指向下一个节点.这 ...
- ES 08 - 创建、查看、修改、删除、关闭Elasticsearch的index
目录 1 创建index(配置mapping[映射]) 2 查看index 3 修改index 4 删除index 5 打开/关闭index 6 常见问题及解决方法 index相当于RDBMS(关系型 ...
- 简单操作elasticsearch(es版本7.6)
简单操作elasticsearch(es版本7.6) es 官方文档 https://www.elastic.co/guide/index.html 简单操作elasticsearch主要是指管理索引 ...
- [数据库]漫谈ElasticSearch关于ES性能调优几件必须知道的事(转)
ElasticSearch是现在技术前沿的大数据引擎,常见的组合有ES+Logstash+Kibana作为一套成熟的日志系统,其中Logstash是ETL工具,Kibana是数据分析展示平台.ES让人 ...
- C# 如何使用 Elasticsearch (ES)
Elasticsearch简介 Elasticsearch (ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好 ...
- 漫谈ElasticSearch关于ES性能调优几件必须知道的事
lasticSearch是现在技术前沿的大数据引擎,常见的组合有ES+Logstash+Kibana作为一套成熟的日志系统,其中Logstash是ETL工具,Kibana是数据分析展示平台.ES让人惊 ...
- 手把手教你Spring Boot2.x整合Elasticsearch(ES)
文末会附上完整的代码包供大家下载参考,码字不易,如果对你有帮助请给个点赞和关注,谢谢! 如果只是想看java对于Elasticsearch的操作可以直接看第四大点 一.docker部署Elastics ...
- elasticsearch系列一:elasticsearch(ES简介、安装&配置、集成Ikanalyzer)
一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引 ...
- elasticsearch(ES)日志迁移
=============================================== 2018/7/29_第1次修改 ccb_warlock == ...
随机推荐
- C#开发框架学习
C# 开源框架(整理) Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用J ...
- 雷林鹏分享:Ruby 哈希(Hash)
Ruby 哈希(Hash) 哈希(Hash)是类似 "employee" => "salary" 这样的键值对的集合.哈希的索引是通过任何对象类型的任意键 ...
- 新概念 Lesson 5 How are you today
How is Emma? 艾玛身体还好吗? 短语:very well How's Emma? She's very well, too. Emma is very well today adv. ...
- Queue CodeForces - 353D (思维dp)
https://codeforces.com/problemset/problem/353/D 大意:给定字符串, 每一秒, 若F在M的右侧, 则交换M与F, 求多少秒后F全在M左侧 $dp[i]$为 ...
- 『Re』知识工程作业_主体识别
作业要求 环境路径 类似于这样的,一共50篇文档, 均为中文文档,是法院判决书的合集. 程序 程序如下,我完全使用正则表达式来实现功能, import re import glob import co ...
- protobuf3.5.1使用的简单例子
前言 1. 什么是protobuf Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,是一种轻便高效的结构化数据存储格式,平台无关 ...
- sql表联接
1.join: 表:erp_orders和erp_orders_products SELECT * FROM erp_orders_products AS products, erp_orders A ...
- uva-10561-nim
题意: 给出一个连续的棋盘,有的位置为'.',有的位置为'X',二者轮流下子,当有一方获得连续三个子的时候取胜. 对于胜态,一种情况是当前局面出现"XX"/"X.X&qu ...
- 附录A——面向对象基础
在学习设计模式之前,C#语言中一些基本的面向对象的知识还是应该具备的,比如像继承.多态,接口.抽象类,集合.泛型等. A.2 类与实例 什么是对象? 一切事物(事和物)都是对象,对象就是可以看到.感觉 ...
- HDU 4764 Stone (巴什博弈)
题意 Tang和Jiang玩石子游戏,给定n个石子,每次取[1,k]个石子,最先取完的人失败,Tang先取,问谁是赢家. 思路 比赛的时候想了不久,还WA了一次= =--后来看题解才发现是经典的巴什博 ...