Elasticsearch学习笔记(一) DSL语句

2023-11-05

1. index
1.1 查询所有index

GET /_cat/indices?v


1.2 新增index
#新增一个名为pigg的index

PUT /pigg


1.3 删除index
#删除pigg这个index,产线千万别这么做,删了就完了

DELETE /pigg


2. document
2.1 新增document

PUT /pigg/_doc/1
{
  "name": "三爷",
  "age": 29,
  "hometown": "盐城",
  "gender": "male"
}

PUT /pigg/_doc/2
{
  "name": "珣爷",
  "age": 28,
  "hometown": "徐州",
  "gender": "female"
}

PUT /pigg/_doc/3
{
  "name": "米可",
  "age": 1,
  "hometown": "苏州",
  "gender": "female"
}


2.2 查询document
2.2.1 查询index的所有document

GET /pigg/_search


2.2.1 根据id查询document

GET /pigg/_doc/1?pretty


返回结果:

{
  "_index": "pigg",
  "_type": "_doc",
  "_id": "1",
  "_version": 4,
  "found": true,
  "_source": {
    "name": "三爷",
    "age": 29,
    "hometown": "盐城",
    "gender": "male"
  }
}


2.2.2 用sort排序查询

#对age进行倒序查询
GET /pigg/_search
{
  "query": {"match_all": {}},
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ]
}


2.2.3 用from和size分页查询

#查询前2条数据, from是从0开始的
GET /pigg/_search
{
  "query": {"match_all": {}},
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ],
  "from": 0,
  "size": 2
}


2.3 修改document
2.3.1 用put替换document
查询当前pigg表里id=1的文档

GET /pigg/_doc/1?pretty


返回如下:

{
  "_index": "pigg",
  "_type": "_doc",
  "_id": "1",
  "_version": 4,
  "found": true,
  "_source": {
    "name": "三爷",
    "age": 29,
    "hometown": "盐城",
    "gender": "male"
  }
}


用put方式更新id=1的文档

PUT /pigg/_doc/1
{
  "name": "盐城三爷"
}


再次查询id=1的文档

{
  "_index": "pigg",
  "_type": "_doc",
  "_id": "1",
  "_version": 5,
  "found": true,
  "_source": {
    "name": "盐城三爷"
  }
}


通过上面发现用put是替换了整个文档,而不是更新name这一个字段

2.3.2 用post更新document
先恢复id=1的文档为一开始的数据,然后执行如下语句
修改name,并新增interesting这个字段

POST /pigg/_doc/1/_update?pretty
{
  "doc":{
      "name": "盐城冬冬",
      "interesting": "watching TV"
  }
}


再次查询id=1的文档

{
  "_index": "pigg",
  "_type": "_doc",
  "_id": "1",
  "_version": 8,
  "found": true,
  "_source": {
    "name": "盐城冬冬",
    "age": 29,
    "hometown": "盐城",
    "gender": "male",
    "interesting": "watching TV"
  }
}


这时发现用post更新的是文档的局部字段,原来有的字段更新,没有的字段则新增这个字段

2.3.3 用script更新document
查询当前id=1的人的age是29,现在要对age加1

POST /pigg/_doc/1/_update
{
  "script": "ctx._source.age += 1"
}
再次查询id=1的文档,发现age已经是30了

{
  "_index": "pigg",
  "_type": "_doc",
  "_id": "1",
  "_version": 9,
  "found": true,
  "_source": {
    "name": "盐城冬冬",
    "age": 30,
    "hometown": "盐城",
    "gender": "male",
    "interesting": "watching TV"
  }
}


2.4 删除document
DELETE /pigg/_doc/1
--------------------- 
作者:盐城三爷 
来源:CSDN 
原文:https://blog.csdn.net/winterking3/article/details/82896738 
版权声明:本文为博主原创文章,转载请附上博文链接!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elasticsearch学习笔记(一) DSL语句 的相关文章

随机推荐

  • Android 3.0 SDK中新增API详解

    Android 3 0 SDK中新增了哪些API呢 我们总结下平板系统honeycomb中的新特性 首先需要澄清的是经过eoeAndroid发现设置模拟器的分辨率到普通WVGA这样的解析度时平板的特性自动消失和Android 2 3没有什么
  • Pytorch 随机种子设置 不可控因素

    为确保模型训练过程中 需要设置模型的随机种子 具体操作如下 主程序 def torch seed seed torch manual seed seed torch cuda manual seed seed torch cuda manu
  • redis三个连接客户端框架的选择:Jedis,Redisson,Lettuce

    Jedis api 在线网址 http tool oschina net uploads apidocs redis clients jedis Jedis html redisson 官网地址 https redisson org red
  • 记录 Libevent的常用功能示例

    介绍 Libevent是开源社区一款高性能的I O框架库 是reactor模式的优秀体现 网上相关资料很多 这篇博文主要以尽量简练的代码实现TcpServer服务器功能 代码覆盖大部分的常用函数接口 通过代码能对Libevent的整体框架
  • c# 通过ImageSharp实现心电图数据保存为本地图片

    文章目录 一 实现结果 二 实现步骤 控制台应用 控制台应用方便 直接将图片生成到本地 三 完整代码 一 实现结果 二 实现步骤 控制台应用 控制台应用方便 直接将图片生成到本地 添加 NuGet 引用包 SixLabors ImageSh
  • P型MOS管常用型号表,电子工程师选型必备!

    P型MOS管常用型号表 如果不清楚如何对P型MOS管选型 可以联系泰德兰电子 在线销售工程师一对一技术支持服务 专业MOS管代理商 长期代理美国aos万代MOS管 重庆万国MOS管 日本松木MOS管等品牌 免费在线分享提供P型MOS管选型
  • PC-lint9 集成至vs2008及配置

    Setp 1 运行config exe对std lnt进行配置时 勾上对VS2008的支持 这里不在赘述 网上关于此的文章非常多 Setp 2 打开vs 2008 点击Tools gt External Tools STEP 3 选择ADD
  • 锁表查询及处理

    锁表及查询及kill命令生成语句 SELECT b sid b serial b logon time b username b osuser a object name alter system kill session b sid b
  • std::tuple还是struct?

    std tuple是C 11提供的新模板类 可以翻译为 元组 可把多个不同类型的变量组合成一个对象 std tuple可看做std pair的泛化实现 std pair包含两个元素 std tuple 可以同时包含多个元素 它拥有 stru
  • 【Keil5】Keil查看程序占用flash大小

    文章目录 一 问题 二 解决方法 参考资料 一 问题 我们在挑选一款单片机的时候 会查询单片机的主频 内部flash和RAM 封装 各种外设接口资源 其中flash和RAM大小尤为重要 以STM32H750VBT6为例 其内部flash只有
  • Unity3d 开发Pico4应用打开工程卡在Importing(iteration xxx) busy for xx:xx)...问题记录

    问题 大致问题如题 步骤是参照了PICO官方给出的快速开始的步骤进行的 而这个我问题的出现是在导入 PICO Unity Integration SDK 前往 SDK 下载中心 下载最新版本的 SDK 1 解压所下载的 SDK 压缩包 2
  • 什么是Base64?

    一 什么是Base64 百度百科中对Base64有一个很好的解释 Base64是网络上最常见的用于传输8Bit字节码的编码方式之一 Base64就是一种基于64个可打印字符来表示二进制数据的方法 什么是 可打印字符 呢 为什么要用它来传输8
  • HTTP 2.0 协议

    HTTP 说起HTTP 协议 超文本传输协议 很多人应该觉得很熟 不过随着HTTP2 0 的普遍应用 我们对其应该有更多的了解 HTTP是浏览器或其他客户端程序与Web服务器之间的应用层通信协议 基于TCP 协议的 主要经历 HTTP 1
  • bnu1322 长方体表面积 C语言版

    北京师范大学珠海分校 Judge Online of ACM ICPC 1322 长方体表面积 C语言版 include
  • Retinex理论及算法学习

    为了能够获取最大的信息量 达到更好的图像增强效果 了解人类视觉系统的特性和图像的属性是准确地选择图像增强方法的必备知识 一 人眼视觉系统 1 人眼成像 人的眼睛是一个非常复杂的器官 一般来说它就是一个球体 平均直径约为20mm 内壁是一层视
  • web期末复习---老师划重点!!

    18 19级的web期末考试题都是老师出题 有幸在周一下午去听了老师的划重点的课 下面我把重点列出来供大家参考 可能不是特别全欢迎补充 谢谢 table 书P25 知道外边框 内边框及其各个属性 什么属性只显示上边框 什么属性只显示下边框等
  • Spring Boot 学习笔记

    TOC 一 Spring Boot 入门 1 Spring Boot 简介 简化Spring应用开发的一个框架 整个Spring技术栈的一个大整合 J2EE开发的一站式解决方案 2 微服务 2014 martin fowler 微服务 架构
  • Python 使用cv2模块 进入视觉识别的报错,报错信息为AttributeError: module ‘cv2.cv2‘ has no attribute ‘bgsegm

    Python 使用cv2模块 进入视觉识别的报错 报错信息为AttributeError module cv2 cv2 has no attribute bgsegm 问题描述 cv2模块 进入视觉识别的报错 报错信息为AttributeE
  • (一)pygame.event详细解析

    文章目录 pygame event详细解析 函数表 函数详解 pygame event pump pygame event get pygame event poll pygame event wait pygame event peek
  • Elasticsearch学习笔记(一) DSL语句

    1 index 1 1 查询所有index GET cat indices v 1 2 新增index 新增一个名为pigg的index PUT pigg 1 3 删除index 删除pigg这个index 产线千万别这么做 删了就完了 D