查询

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. gym中所有可以用的模拟环境

    python 代码: from gym import envs for env in envs.registry.all(): print(env.id) 打印出可用环境: Copy-v0 Repea ...

  2. 实验室服务彻底死机记录——硬件故障——主板pcie槽坏掉或显卡坏掉

    2022年11月8日   后记(最新更新) 服务器送售后,售后给厂家技术打电话,厂家技术说可能是显卡的电源线松了,于是我们打开机箱把显卡的电源线紧了紧,然后神奇的事情发生了,故障解除了...... 一 ...

  3. Numb 题解

    前言 五一网课的例题,但是网上没有题解,所以来写一篇,就当攒 RP 了.题目可以在这里提交.原题是 Baekjoon - 19083,但是交不了? 题目简述 给你一个偶数 \(n\),求一个二进制数 ...

  4. vue router动态添加路由报警告:router.addRoutes() is deprecated and has been removed in Vue Router 4. Use router.addRoute() instead.

    原因: 新版本router.addRoutes已废弃:使用 router.addRoute() 代替. //addRoutes的使用方法: router.addRoutes(newRoutes) // ...

  5. sqlserver 索引优化 CPU占用过高 执行分析 服务器检查[转]

    SELECT TOP 10 [Total Cost] = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans) ...

  6. 关于EF延时加载的面试题

    public async Task<ActionResult> GetData() { var data = (from leftdata in GetLeft() join rightd ...

  7. C#自定义结构体的(用SendMessage)传递

    要传递结构体 public struct STUDENT { public int id; //ID public string name; //姓名 } 要引用Win32api函数FindWindo ...

  8. 【原创】vagrant up 异常报错,出现 There was an error while executing `VBoxManage` 的解决方法

    最近在使用 vagrant homestead 时,不小心在虚拟机上使用了 exit 命令退出虚拟机,导致再使用 vagrant up 时出现以下错误: Bringing machine 'larav ...

  9. Terraform管理云资源实践

    背景 Terraform是一款开源的Cli工具,网上的很多文章都是单机安装一个然后创建个目录就去操作云资源:如果在高可用的前提,如何将Terraform cli变成一个嵌入运维流程的一个组件?不仅仅是 ...

  10. 【Git】之分支合并命令

    一.Git分支管理 1.查看Git分支 git branch 按Q键返回. 2.创建分支以及删除分支 git branch newtest git branch -d newtest 3.切换分支 g ...