查询

index:

GET task_results/_search/

普通查询:

{"query":{"bool":{"must":[{"match":{"task_id":"xxx"}}]}}}

json嵌套查询:

{"query":{"nested":{"path":"cloud_result","query":{"bool":{"must":[{"match":{"cloud_result.label":xx}}]}}}}}

range 查询:

{"from":0,"size":10,"query":{"nested":{"path":"cloud_result","query":{"bool":{"must":[{"match":{"cloud_result.label":xx}},{"range":{"cloud_result.confidence":{"gte":0.8}}}]}}}}}

同时查询多个值,类型mysql中的in:

{"query":{"bool":{"must":[{"match":{"project_id":"1"}},{"terms":{"incident_type":[1,2]}}]}}}

排序:

{"from":0,"size":10,"query":{"nested":{"path":"cloud_result","query":{"bool":{"must":[{"match":{"cloud_result.label":113718644}},{"range":{"cloud_result.confidence":{"gte":0.8}}}]}}}},"sort":{"create_at":{"order":"desc"}}}

json嵌套+普通字段查询:

{"query":{"bool":{"must":[{"nested":{"path":"cloud_result","query":{"term":{"cloud_result.label":xxx}}}},{"term":{"project_id":29}}]}}}

match和term查询的区别

match

  • match的查询词会被分词
  • match_phrase 不会分词
  • match_phrase 可对多个字段进行匹配

term

  • term代表完全匹配,不进行分词器分析
  • term 查询的字段需要在mapping的时候定义好,否则可能词被分词。传入指定的字符串,查不到数据

bool联合查询

  • must should must_not
  • must 完全匹配
  • should 至少满足一个
  • must_not不匹配

es聚合查询:

https://blog.csdn.net/qq_43588909/article/details/126381390

根据project_id分组:

{"size":0,"aggs":{"aggs.demo01":{"terms":{"field":"project_id","size":10,"order":{"_count":"asc"//根据统计条数升序,desc降序}}}}}

聚合后having:

{"size":0,"aggs":{"groupName":{"terms":{"field":"source"},"aggs":{"countSource":{"terms":{"field":"source","order":{"_count":"asc"}}},"having":{"bucket_selector":{"buckets_path":{"orderCount":"_count"},"script":{"source":"params.orderCount >1 "}}}}}}}

基于查询结果聚合: 查询project_id=12 and cloud_result.label=694547 group source

{"size":0,"query":{"bool":{"must":[{"nested":{"path":"cloud_result","query":{"match":{"cloud_result.label":xxx}}}},{"match":{"project_id":12}}]}},"aggs":{"groupName":{"terms":{"field":"source"},"aggs":{"countSource":{"terms":{"field":"source","order":{"_count":"asc"}}},"having":{"bucket_selector":{"buckets_path":{"orderCount":"_count"},"script":{"source":"params.orderCount >1 "}}}}}}}

聚合后查询:

{"query":{"range":{"Price":{"gte":50,"lte":500}}},"aggs":{"tags_bucket":{"terms":{"field":"Tags.keyword"}}},"post_filter":{"term":{"Tags.keyword":"xx"}}}

更新

1.覆盖式更新(会把旧数据替换掉)

PUT student-001/_doc/1?refresh=true

{"id":1,"name":"student-1","year":1}

2.部分更新

把 id 为1的数据的 name 字段更新

POST student-001/_update/1?refresh=true

{"doc":{"name":"student-123"}}

如果数据不存在,则作为新数据添加;如果数据已经存在,则更新旧数据,那么我们可以添加参数 doc_as_upsert

POST student-001/_update/1?refresh=true

{"doc":{"name":"student-23"},"doc_as_upsert":true}

使用脚本的方式来更新数据

POST student-001/_update/1?refresh=true

{"script":{"source":"ctx._source.name='student-1'"}}

新增

批量添加数据:

PUT edms_electric_fence_alarm_v1/_doc/18

{"event_id":"xxx","vehicle_id":"xx","vehicle_name":"","type":"ANOMALY_TYPE_OUTSIDE_AREA","location":{"type":"COORDINATE_SYSTEM_LLA","coordinate_system":"","x":121,"y":30,"z":0},"area_id":"xxx","area_points":[],"fence_id":"","fence_name":""}

删除

根据查询条件删除:

POST task_results/_delete_by_query

{"query":{"bool":{"must":[{"match":{"project_id":12}},{"match":{"organization_id":"maint"}}]}}}

es之增删改查的更多相关文章

  1. kibana的Dev Tool中如何对es进行增删改查

    kinaba Dev Tool中对es(elasticSearch)进行增删改查 一.查询操作 查询语句基本语法 以下语句类似于mysql的: select * from  xxx.yyy.topic ...

  2. es数据增删改查

    设置最大查询条数 curl -XPUT 'http://10.121.8.5:9200/zdl_mx_shzt_ztdf/_settings' -d'{"index":{" ...

  3. 【ES】ElasticSearch初体验之使用Java进行最基本的增删改查~

    好久没写博文了, 最近项目中使用到了ElaticSearch相关的一些内容, 刚好自己也来做个总结. 现在自己也只能算得上入门, 总结下自己在工作中使用Java操作ES的一些小经验吧. 本文总共分为三 ...

  4. ES增删改查入门1

    1.RESTful接口使用方法 为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口. RESTful接口URL的格式: http://localhost:9200/ ...

  5. Es学习第三课, ElasticSearch基本的增删改查

    前面两课我们了解了ES的基本概念并且学会了安装ES,这节课我们就来讲讲ES基本的增删改查:ES主要对外界提供的是REST风格的API,我们通过客户端操作ES本质上就是API的调用.在第一课我们就讲了索 ...

  6. Es图形化软件使用之ElasticSearch-head、Kibana,Elasticsearch之-倒排索引操作、映射管理、文档增删改查

    今日内容概要 ElasticSearch之-ElasticSearch-head ElasticSearch之-安装Kibana Elasticsearch之-倒排索引 Elasticsearch之- ...

  7. elasticsearch索引的增删改查入门

    为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口. RESTful接口URL的格式: http://localhost:9200/<index>/&l ...

  8. 分布式搜索elasticsearch 索引文档的增删改查 入门

    1.RESTful接口使用方法 为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口. RESTful接口URL的格式: http://localhost:9200/ ...

  9. ElasticSearch6(三)-- Java API实现简单的增删改查

    基于ElasticSearch6.2.4, Java API创建索引.查询.修改.删除,pom依赖和获取es连接 可查看此文章. package com.xsjt.learn; import java ...

  10. [py]django强悍的数据库接口(QuerySet API)-增删改查

    django强悍的数据库接口(QuerySet API) 4种方法插入数据 获取某个对象 filter过滤符合条件的对象 filter过滤排除某条件的对象- 支持链式多重查询 没找到排序的 - 4种方 ...

随机推荐

  1. ubuntu 18.04系统下CPU实时频率查看工具 cpupower

    1.  cpupower  安装 sudo apt install linux-tools-common 2.   CPU实时频率查看 watch -n 1 sudo cpupower monitor ...

  2. PyTorch的TensorBoard用法示例

    原文: https://www.emperinter.info/2020/07/30/tensorboard-in-pytorch/ 缘由 自己上次安装好PyTorch以及训练了一下官方的数据,今天看 ...

  3. PHP 字符串大小写操作

    PHP为我们提供了字符串中大小写字母转换的函数, strtoupper()将指定的字符全部转换为大写: strtolower()将北定的字符都转换成小写: ucwords()将指定字符串中每个单词的首 ...

  4. AC自动机 提高篇

    文本生成器 首先考虑一个容斥,算出不包含任何一个单词的文章的数量. 我们设 \(dp_{i,j}\) 表示当前文章长度为 \(i\),最后一个字符在 \(AC\) 自动机上的 \(j\) 号点的方案数 ...

  5. 前端界面显示当前时间的Vue代码

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. 第 111 场双周赛 - 力扣(LeetCode)

    第 111 场双周赛 - 力扣(LeetCode) 2824. 统计和小于目标的下标对数目 - 力扣(LeetCode) 枚举即可 class Solution { public: int count ...

  7. springcloud集成grpc(二)

    码云地址:https://gitee.com/lpxs/lp-springcloud.git 有问题可以多沟通:136358344@qq.com. 上一章内容介绍了springboot2集成net.d ...

  8. [rCore学习笔记 025]分时多任务系统与抢占式调度

    写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 本节重 ...

  9. 怎样在局域网中给网站作ssl认证,使其能以https协议访问(转)

    如果要在局域网达到效果需要满足以下几点要求: 1. 证书由可信任的CA机构颁发 2. 证书在有效期 3. 访问地址和证书的认证地址一致 说明: 1. 需要在局域网内构建CA机构 2. 证书的有效期建议 ...

  10. vue serve 部署 步骤说明

    1. 构建镜像 docker build -t 镜像名称:镜像TAG --build-arg URL=http://localhost:8081 --build-arg PORT=2000 --bui ...