ElasticSearch6.3脚本更新
使用上篇文章创建的索引进行学习:https://www.cnblogs.com/wangymd/p/11200996.html
官方文档:https://www.elastic.co/guide/en/elasticsearch/painless/6.3/painless-examples.html
1、脚本更新指定字段
方式1:
POST test_index/test_type/4/_update
{
"script":{
"source":"ctx._source.count = 10"
}
}
方式2:
POST test_index/test_type/4/_update
{
"script":{
"source":"ctx._source.count = params.count",
"params": {
"count":20
}
}
}
POST test_index/test_type/4/_update
{
"script" : {
"source": "ctx._source.count++" #自增
}
}
POST test_index/test_type/4/_update
{
"script" : {
"source": "ctx._source.count--" #自减
}
}
2、数组添加值
索引增加字段
PUT test_index/test_type/_mapping
{
"properties": {
"tags" : {
"type": "text"
}
}
}
索引字段设置数组值
POST test_index/test_type/4/_update
{
"doc": {
"tags":["aa"]
}
}
索引字段添加数组值
注意字段无数据时直接添加会发生错误。
POST test_index/test_type/4/_update
{
"script":{
"source":"ctx._source.tags.add(params.tags)",
"params": {
"tags":"bb"
}
}
}
3、添加字段
POST test_index/test_type/4/_update
{
"script" : "ctx._source.date = '2019-07-25'" #字段名和字段值
}
4、删除字段
POST test_index/test_type/4/_update
{
"script" : "ctx._source.remove('date')"
}
5、复杂的脚本
①根据不同条件执行不同的命令
POST test_index/test_type/4/_update
{
"script" : {
"source": "if (ctx._source.tags.contains(params.tag)) { ctx.op = 'delete' } else { ctx.op = 'none' }", #tags包含aa"进行删除",其他误操作
"lang": "painless",
"params" : {
"tag" : "aa"
}
}
}
②
ElasticSearch6.3脚本更新的更多相关文章
- Oracle 项目中 SQL 脚本更新方式
DECLARE hasVersion ); dbVersion ); BEGIN ) INTO hasVersion FROM ELB_SETTINGS E WHERE E.KEY='dbVersio ...
- 纯python自研接口自动化脚本更新版本,让小白也能实现0到1万+的接口自动化用例
查看完整文章点击原文链接:纯python自研接口自动化脚本更新版本,让小白也能实现0到1万+的接口自动化用例 你是否还在用postman\jmeter做接口自动化吗?用python的开源框架[unit ...
- innobackupex 单脚本循环7天一全备6增备脚本更新
#!/bin/bash #日期转为天数 function date2days { echo "$*" | awk '{ z=-$)/); y=$+-z; m=$+*z-; j=*m ...
- 用Python写的简单脚本更新本地hosts
这两天Google墙得严重,于是就产生了做个一键更新hosts的脚本的想法. 由于正在学习Python,理所当然用Python来写这个脚本了. 接触比较多的就是urllib2这个库,习惯性的impor ...
- 使用Linux脚本更新Weblogic部署的应用程序
在利用Jenkins实现Weblogic应用自动部署的功能时,如何通过Shell 脚本自动更新Weblogic部署的应用程序呢? 可以使用weblogic.jar包中的weblogic.Deploye ...
- DD-WRT自定义脚本更新花生壳DDNS
N年以前买了一个tp-link 841n v7,一直用的还算可以吧,除了不定期重启路由器,不然网速慢的龟爬啊!这也是TP原厂固件的通病,于是刷了DD-WRT,话说DD确实很爽,除了功能强大之外,而且很 ...
- Cocos Code IDE里xcodeprojectlua脚本更新
lua脚本改动后xcode须要clean又一次编译才干更新,这个是xcode里的老毛病了,网上有一些脚本但不是针对Cocos Code IDE的project文件夹的,这里列出 cocos2dx版本号 ...
- Mongo使用脚本更新数据
SQL Server中我们经常要使用脚本来刷一些数据,在mongo中我们也可以使用mongo的脚本来刷mongo的数据 首先在命令窗口中链接到本地的mongo库 load("[脚本的地址]& ...
- jenkins发版脚本更新
jenkins 项目名中明确了 是jar tar.gz war包研发需要提供 项目名-地点-环境(研发.测试.生产)-应用项目名称(admin)-包格式(jar\war\gz) deployment ...
随机推荐
- django提供二进制流数据文件的下载
基于djnago框架的二进制流数据传输(提供较大文件的下载) (1)数据源: 高质量图片.视频.音频.文件.数据库数据等.如果是数据库文件,需要先读取相应的数据,然后写入表格在传输到前端以供下载! ( ...
- jquery 滚轴滚动 导航定位和锚点定位
自己写的,只测试了ie9+, firefox,chrome 以下js更好 var fixbar={ init:function(){ "use strict"; // 滚轴 导航位 ...
- 每次找Internet选项感到抓狂?一键打开!
WIN+R运行,输入inetcpl.cpl,就可以打开了!
- JVM_双亲委派机制
双亲委派机制及作用 什么是双亲委派机制 当`.class`文件需要被加载时,它首先把这个任务委托给他的上级类加载器,层层往上委托,如果上级的类加载器没有加载过,自己才会去加载这个类. 源码分析 pro ...
- PAT-1134 Vertex Cover (图的建立 + set容器)
A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at le ...
- PAT 乙级-1025 链表反转
给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4:如果K为4,则输出应该为4→3→2→1→5→6,即最后 ...
- 一个茴字有三种写法——吐槽C#9.0的Records
最近是微软开了Build 2020大会,由于疫情原因,改成了在线举行,Build大会上,C#公布9.0版本. 我个人对于C#的更新向来都是喜闻乐见,乐于接受的,对于博客园上某些人天天嘲讽C#只会增加语 ...
- 【scrapy运行姿势】scrapy.cmdline.execute
scrapy.cmdline.execute scrapy的cmdline命令 1.启动爬虫的命令为:scrapy crawl (爬虫名) 2.还可以通过以下方式来启动爬虫 方法一:创建一个.py文件 ...
- JAVA定义变量和基础的数据类型和关键字
标识符语法 1)java中定义标识符格式以字母,数字,下划线,$符合组成,不能以数字开头,且不能为 java中的关键字. 2)标识符意义要明确,不要乱起 3)标识 ...
- NO.4 CCS运行第一个demo(本地)
前面介绍了基本的SDK内容,这次主要是本地实际应用CCS实现程序的运行. 首先我们进入CCS,我简单介绍下界面: 界面很简洁,通俗易懂(怎么跟STM32IDE这么像) 由于我们还不会写程序,我们先导入 ...