elasticsearch增删改查

news2024/10/5 17:25:21

一、数据类型

1、字符串类型

(1)text

(2)keyword

2、数值类型

(1)long、integer、short、byte、float、double 

3、日期类型

(1)date

4、布尔类型

(1)boolean

5、二进制

(1)binary

注:
如果文档字段没有指定,es会默认配置字段类型。

二、PUT - 创建索引库且插入数据:

(1)使用PUT可以创建索引库

PUT /索引库的名称/类型名称(高版本已废弃,一般默认会写_doc)/ 文档id

{JSON请求体} // 相当于往索引库中添加数据

PUT /lxc/type01/1
{
  "name":"lxc", 
  "age": 28,
  "height": "175"
}

在elasticsearch-head中查看:

(2)通常会先创建索引库,并指定字段类型(创建规则)

下边创建了一个user索引库,并指定了索引库字段类型(name/age/createTime)

PUT /user
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "long"
      },
      "createTime": {
        "type": "date"
      }
    }
  }
}

在kibana中执行,即可创建: 

然后,往user索引库中添加数据:

三、GET - 获取索引库数据信息:

(1)GET /索引库名称:获取索引库信息(相当于列出一个表结构信息)

(2)GET /索引库名称/_doc/文档id:获取索引库对应文档id的数据信息(相当于根据id查询某一条数据)

(3)GET _cat/indices?v : 获取当前es信息

GET _cat/health : 获取当前es健康值状态

(4)高级查询

1、查询user索引库,条件:name="张三",过滤字段:只保留name
GET /user/_doc/_search
{
  "query": {
    "match": {
      "name" : "张三"
    }
  },
  "_source": ["name"]
}

2、多条件查询 bool

must:相当于 name = "张三" and name = "李四"

GET /user/_doc/_search
{
  "query": {
    "bool": {
      "must": [
        {"match": {"name": "张三"}},
        {"match": {"name": "李四"}}
      ]
    }
  }
}

  should:相当于 name = "张三" or name = "李四" 

GET /user/_doc/_search
{
  "query": {
    "bool": {
      "should": [
        {"match": {"name": "张三"}},
        {"match": {"name": "李四"}}
      ]
    }
  }
}

 must_not:相当于 name != "张三"  或者 name is not "张三" 

GET /user/_doc/_search
{
  "query": {
    "bool": {
      "must_not": [
        {"match": {"name": "张三"}}
      ]
    }
  }
}

3、根据某i个字段排序(如果使用排序,此时分值字段 _score 会失效)
GET /user/_doc/_search
{
  "query": {
    "match": {
      "name" : "张三"
    }
  },
  "_source": ["name"],
   // 排序
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ]
}
4、分页
GET /user/_doc/_search
{
  "query": {
    "match": {
      "name" : "张三"
    }
  },
  "from": 0, // 从第几页开始
  "size": 1 // 一页展示条数
}

(5)字段类型:text和keyword区别

text类型字段,会被分词器解析。

keyword类型的字段,不会被分词器解析(如果字段是keyword类型的相当于不能模糊匹配了,只能一个整体精确匹配) 。

四、POST  根据文档id新增

POST  /索引库/_doc/文档id


五、_update 根据文档id修改

POST  /索引库/_doc/文档id/_update(这种方式的修改较之前传统PUT方式修改优点:不会因为哪一个字段没有修改就会赋值null或者置空)

下边是没修改之前的user索引库,文档id为1的数据

执行修改:
注意版本号 "_version" 由3 变成4 了(下边只修改了索引库中name字段值,其他不会被覆盖修改)

六、DELETE 删除

DELETE  /索引库 :删除索引库

DELATE /索引库/_doc/1   删除索引库中文档id为1的数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1444248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT高效提问—prompt常见用法(续篇九)

ChatGPT高效提问—prompt常见用法(续篇九) ​ 如何准确地向大型语言模型提出问题,使其更好地理解我们的意图,从而得到期望的答案呢?编写有效的prompt的技巧,精心设计的prompt,获得期望的的答案。 1.1 增加条件 ​ 在各种prompt技巧中,增加条件是最常用的。在prompt中…

基于JavaWeb的网上订餐项目

点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/88825723?spm1001.2014.3001.5503 Java项目-16 浏览商品,会员登录,添加购物车,进行配送等功能 文件代码功能介绍 1.Src下的java文件存放的我们后端的…

基于PHP网上图书销售商城系统qo85w

软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S结构成为最佳之选。使用B/S结构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常…

C++ //练习 5.12 修改统计元音字母的程序,使其也能统计空格、制表符和换行符的数量。

C Primer(第5版) 练习 5.12 练习 5.12 修改统计元音字母的程序,使其也能统计空格、制表符和换行符的数量。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /******************************…

【JavaScript 】finally() 方法和Filter() 方法

JavaScript 中的finally() 方法 finally是 JavaScript 构造中使用的方法try-catch。try它在and阻塞之后执行catch,无论 Promise 是已履行还是已拒绝。该函数的主要作用是执行必要的清理任务并向用户传达消息。一个常见的用例可能是通知用户“您的请求已被处理”&am…

使用client-only 解决组件不兼容SSR问题

目录 前言 一、解决方案 1.基于Nuxt 框架的SSR应用 2.基于vue2框架的应用 3.基于vue3框架的应用 二、总结 往期回顾 前言 最近在我的单页面SSR应用上开发JSON编辑器功能,在引入组件后直接客户端跳转OK,但是在直接加载服务端渲染的时候一直报这…

【机器学习】单变量线性回归

文章目录 线性回归模型(linear regression model)损失/代价函数(cost function)——均方误差(mean squared error)梯度下降算法(gradient descent algorithm)参数(parame…

微信小程序(三十九)表单信息收集

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.表单收集的基本方法 2.picker的不足及解决方法 源码&#xff1a; index.wxml <!-- 用户信息 --> <view class"register"><!-- 绑定表单信息收集事件--><form bindsubmit"…

信号——block+pending+handler表

信号 注意 &#xff1a;这由三张表&#xff0c;block只能添加修改&#xff0c;pending只能获取 , handler只能修改 基础知识 抵达——> 执行 / 忽略sigset_t 信号集被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作 信号集操作 #include &…

第75讲Avatar头像FooterHome实现

Avatar头像实现 avatar&#xff1a; <template><el-dropdown><span class"el-dropdown-link"><el-avatar shape"square" :size"40" :src"squareUrl" /></span><template #dropdown><el-drop…

【MySQL进阶之路】生产案例:数据库无法连接,Too many connections

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

6 scala-面向对象编程基础

Scala 跟 Java 一样&#xff0c;是一门面向对象编程的语言&#xff0c;有类和对象的概念。 1 类与对象 与 Java 一样&#xff0c;Scala 也是通过关键字 class 来定义类&#xff0c;使用关键字 new 创建对象。 要运行我们编写的代码&#xff0c;同样像 Java 一样&#xff0c;…

C#,最大公共子序列(LCS,Longest Common Subsequences)的算法与源代码

1 最大公共子序列 最长的常见子序列问题是寻找两个给定字符串中存在的最长序列。 最大公共子序列算法&#xff0c;常用于犯罪鉴定、亲子鉴定等等的 DNA 比对。 1.1 子序列 让我们考虑一个序列S<s1&#xff0c;s2&#xff0c;s3&#xff0c;s4&#xff0c;…&#xff0c;…

项目02《游戏-13-开发》Unity3D

基于 项目02《游戏-12-开发》Unity3D &#xff0c; 任务 &#xff1a;宠物系统 及 人物头像血条 首先在主面板MainPanel预制体中新建一个Panel&#xff0c; 命名为PlayerInfo 新建Image&#xff0c;作为头像 新建Slider&#xff0c;作为血条 对Panel组件添加一个水…

中年低端中产程序员从西安出发到海南三亚低成本吃喝万里行:西安-南宁-湛江-雷州-徐闻-博鳌-陵水-三亚-重庆-西安

文章大纲 旅途规划来回行程的确定南宁 - 北海 - 湛江轮渡成为了最终最大的不确定性&#xff01;感谢神州租车气温与游玩地点总体花费 游玩过程出发时间&#xff1a;Day1-1月25日星期四&#xff0c;西安飞南宁路途中&#xff1a;Day2-1月26日星期五&#xff0c;南宁-湛江-住雷州…

算法学习——LeetCode力扣二叉树篇1

算法学习——LeetCode力扣二叉树篇1 144. 二叉树的前序遍历 144. 二叉树的前序遍历 - 力扣&#xff08;LeetCode&#xff09; 描述 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&a…

猫头虎分享已解决Bug | Kotlin Error: Unresolved reference: name

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

Java多态原理

参考 虚方法 JVM杂记&#xff1a;对多态实现原理、虚方法表、虚方法、静态解析、动态链接的一些思考_多态和方法表的关系-CSDN博客 静态分派与动态分派 &#xff08;JVM&#xff09;Java虚拟机&#xff1a;静态分派 & 动态分派 原理解析 - 掘金 虚方法表 JVM 栈帧&am…

python+flask+django医院预约挂号系统6nrhh

医院预约挂号系统主要有管理员、用户和医生三个功能模块。以下将对这三个功能的作用进行详细的剖析。 技术栈 后端&#xff1a;python 前端&#xff1a;vue.jselementui 框架&#xff1a;django/flask Python版本&#xff1a;python3.7 数据库&#xff1a;mysql5.7 数据库工具…

python 基础知识点(蓝桥杯python科目个人复习计划35)

今日复习计划&#xff1a;阶段总结&#xff08;新年贺礼&#xff09; 1.python简介&#xff08;定义&#xff0c;优点&#xff0c;缺点&#xff0c;应用领域&#xff09; python&#xff1a;一种广泛使用的解释型&#xff0c;高级和通用的编程语言 python极简&#xff0c;生…