1. # 进入bin目录
  2. cd /czz/elsearch/bin
  3. # 后台启动(不加-d参数则是前台启动,日志在控制台)
  4. # 后台启动日志如果不配置,在es目录的logs下面
  5. ./elasticsearch -d

装完本机访问http://127.0.0.1:9200/

  1. {
  2. "name" : "node-1",
  3. "cluster_name" : "my-application",
  4. "cluster_uuid" : "wIk4z-UA***9cusPopZFBw",
  5. "version" : {
  6. "number" : "****",
  7. "build_flavor" : "default",
  8. "build_type" : "***",
  9. "build_hash" : "ef48eb35cf30adf****4db14086*1*e8aabd07ef6fb113f",
  10. "build_date" : "2020-03-26T06:34:37.794943Z",
  11. "build_snapshot" : false,
  12. "lucene_version" : "8.4.0",
  13. "minimum_wire_compatibility_version" : "****",
  14. "minimum_index_compatibility_version" : "***-beta1"
  15. },
  16. "tagline" : "You Know, for Search"
  17. }

看到类似的返回即表示安装成功

ElasticSearch中的基本概念

索引

① 索引(index)是es对逻辑数据的逻辑存储,所以它可以分为更小的部分。类似于关系型数据库的table

② 索引的结构是为快速有效的全文索引准备的,特别是它不存储原始值。

③ Elasticsearch可以把索引存放在一台机器或者分散在多台服务器上,每个索引有一或多个分片,每个分片可以有多个副本。

文档

① 存储在Elasticsearch中的主要实体叫文档(document)。相当于关系型数据库的一行数据

② es的文档中,相同字段必须有相同类型。

③ 文档由多个字段组成,每个字段可能多次出现在一个文档里,这样的字段叫多值字段(multivalued)。 每个字段的类型,可以是文本、数值、日期等。字段类型也可以是复杂类型,一个字段包含其他子文档或者数 组。

映射

① 所有文档写进索引之前都会先进行分析,如何将输入的文本分割为词条、哪些词条又会被过滤,这种行为叫做 映射(mapping)。一般由用户自己定义规则。

文档类型

① 在Elasticsearch中,一个索引对象可以存储很多不同用途的对象。

② 每个文档可以有不同的结构。

③ 不同的文档类型不能为相同的属性设置不同的类型。例如,在同一索引中的所有文档类型中,一个叫title的字段必须具有相同的类型。

RESTful API

①创建索引

  1. PUT /czz_test
  2. {
  3. "settings": {
  4. "index": {
  5. "number_of_shards": "1", #分片数,一般单机一片即可
  6. "number_of_replicas": "0" #副本数
  7. }
  8. }
  9. }

②删除索引

  1. DELETE /czz_test
  2. {
  3. "acknowledged": true
  4. }

③插入数据

URL规则: POST /{索引}/{类型}/{id}

  1. POST /czz_test/user/1001 #不指定ID插入时会自动生成
  2. {
  3. "id":1001,
  4. "name":"张三",
  5. "age":20,
  6. "sex":"男"
  7. }

返回:

  1. {
  2. "_index": "czz_test",
  3. "_type": "user",
  4. "_id": "0001",
  5. "_version": 1,
  6. "result": "created",
  7. "_shards": {
  8. "total": 2,
  9. "successful": 1,
  10. "failed": 0
  11. },
  12. "_seq_no": 0,
  13. "_primary_term": 1
  14. }

④更新数据

在es中数据是不可修改的,但是可以通过覆盖的方式进行更新,此时_version属性值会加一

  1. PUT /czz_test/user/1001
  2. {
  3. "id":1001,
  4. "name":"张三",
  5. "age":21,
  6. "sex":"女"
  7. }

如果要仅仅更新某个字段,需要在url路径增加_update标记,同时需要将要更新的字段放在doc里面,同时_version也会加一

  1. #注意:这里多了_update标识
  2. POST /czz_test/user/1001/_update
  3. {
  4. "doc":{
  5. "age":23
  6. }
  7. }

⑤删除数据

  1. DELETE /czz_test/user/1001 #删除id为1001的数据
  2. DELETE /czz_test/ #删除该索引的所有数据
欢迎大家留言,以便于后面的人更快解决问题!另外亦欢迎大家可以关注我的微信公众号,方便利用零碎时间互相交流。共勉!

路漫漫其修远兮,吾将上下而求索。。。

es使用--新建、删除、增删改数据的更多相关文章

  1. Mysq基础l数据库管理、表管理、增删改数据整理

    一.       数据库管理: 创建数据库: create database(自定义) 查询所有数据库: show databases;(查询所有数据库) show create database ( ...

  2. python入门23 pymssql模块(python连接sql server增删改数据 )

    增删改数据必须connect.commit()才会生效 回滚函数 connect.rollback() 连接数据库 ''' dinghanhua sql server增删改 ''' import py ...

  3. 利用Django提供的ModelForm增删改数据

    上一篇我们写了Django基于类如何增删改数据的方法,方法虽然简单,但新手可能对其原理不是很清楚,那么我们这次就用Django提供的ModelForm方法来实现增删改数据,这是一种基于现有模型的增删改 ...

  4. Oracle【增删改&数据的备份】

    增删改的SQL语句执行完毕后,不会立马进行数据的写入数据库(这时数据在内存中),需要手动对数据进行提交(commit),如果数据出问题,可以使用回滚.主键:非空唯一的 --在一张表中,某字段值是非空唯 ...

  5. MySQL增删改数据

    1.增加数据 ,); /*插入所有字段.一定依次按顺序插入--字符串与日期需要加单引号,数字不需要,各个字段之间用逗号分隔*//*注意不能少或者多字段值*/ ,) /*按字段名插入数据,中间用逗号隔开 ...

  6. MYSQL的常用命令和增删改查语句和数据类型

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  7. MYSQL的常用命令和增删改查语句和数据类型【转】

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  8. SQL学习之MYSQL的常用命令和增删改查语句和数据类型

    连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 创建数据库:create database [库名] 显示所有数据库: show databases; 打开数据库:use [ ...

  9. NHibernate系列文章三:简单的增删改查询

    摘要 上一篇文章只完成了简单的NHibernate安装.配置和连接数据库.这篇文章介绍怎样实现最简单的数据库读写操作. 1. 重构ISessionFactory生成过程 将生成ISessionFact ...

随机推荐

  1. 实操ES6之Promise

    箭头函数和this 写Promise的时候,自然而然会使用箭头函数的编写方式.箭头函数就是.Neter们熟知的lambda函数,已经被大部分主流语言支持,也受到了广大码农的交口称赞,但是Jser们却会 ...

  2. SpringCloud Gateway高阶之Sentinel限流、熔断

    前言 为什么需要服务熔断和降级?微服务是当前业界的一大趋势,原理就是将单一职责的功能模块独立化为子服务,降低服务间的耦合,服务间互相调用.但是这样也会出现一些问题: 上图中大量微服务互相调用,存在大量 ...

  3. 来讲讲你对ThreadLocal的理解

    前言 面试的时候被问到ThreadLocal的相关知识,没有回答好(奶奶的,现在感觉问啥都能被问倒),所以我决定先解决这几次面试中都遇到的高频问题,把这几个硬骨头都能理解的透彻的说出来了,感觉最起码不 ...

  4. spring mvc(1) 为什么要使用mvc

    在使用spring mvc之前,我们首先要理解我们为什么要使用spring mvc.关于这个问题我们可以看一下java web的简单发展过程. 1. servlet 开发阶段 上世纪90年代,随着In ...

  5. MySql约束_设计_备份还原(资料二)

    今日内容 1. DQL:查询语句 1. 排序查询 2. 聚合函数 3. 分组查询 4. 分页查询 2. 约束 3. 多表之间的关系 4. 范式 5. 数据库的备份和还原 DQL:查询语句 1. 排序查 ...

  6. selenium过豆瓣滑动验证码

    首先是加速度代码 def get_tracks(distance): """ 拿到移动轨迹,模仿人的滑动行为,先匀加速后匀减速 匀变速运动基本公式: ①v = v0+at ...

  7. python自动保存百度网盘资源,一定要看

    觉得有帮助的别忘了关注一下知识图谱与大数据公众号 开始 在上一文中,我们保存了百度云盘的地址和提取码,但是这种分享链接很容易被屏蔽,最好的做法就是保存资源到自己的网盘,不过采集的链接有上万个,人肉保存 ...

  8. 基于redis的分布式锁的实现与框架解决方案

    利用切面实现redis分布式锁:https://www.cnblogs.com/xiaoxiongcanguan/p/10718202.html 细节分析redis实现分布式锁的前因后果:https: ...

  9. iNeuOS工业互联平台,机床&PLC硬件网关与平台无缝对接,进行数据交互

    目       录 1.      概述... 2 2.      平台演示... 2 3.      硬件网关的基本操作... 3 3.1           数据采集... 3 3.2       ...

  10. scala 传值调用,传名调用

    Scala的解释器在解析函数参数(function arguments)时有两种方式: 传值调用(call-by-value):先计算参数表达式的值,再应用到函数内部: 传名调用(call-by-na ...